對於已經備份的包含 create、insert 語句的文字檔案,可以使用 mysql 命令匯入到資料庫中。
語法格式如下:
mysql -u user -p [dbname] < filename.sql
user 是執行 backup.sql 檔案中語句的使用者名稱; p 表示使用者密碼;dbname 是資料庫名。如果 filename.sgl 檔案為mysqldump 工具建立的包含建立資料庫語句的檔案,執行的時候不需要指定資料庫名。
【例】使用 mysql 命令將 f:\backup\booksdb_20180603.sql 檔案中的備份匯入資料庫中。輸入的語句如下:
c:\>mysql -u root -p booksdb < f:\backup\booksdb_20180603.sql
enter password: *************
c:\>
執行該語句前,必須先在 mysql 伺服器中建立 booksdb 資料庫,如果不存在此資料庫,恢復過程將會出錯。命令執行成功之後,booksdb_20180603.sql 檔案中的語句就會在指定的資料庫中恢復以前的表。
如果已經登入 mysql 伺服器,還可以使用 source 命令匯入 sql 檔案。
soure 語句的語法如下:
source filename
【例】使用 root 使用者登入伺服器,然後使用 soure 匯入本地的備份檔案 booksdb_20180603.sql 。輸入的語句如下:
mysql> use booksdb
database changed
mysql> source f:\backup\booksdb_20180603.sql
query ok, 0 rows affected (0.00 sec)
……query ok, 0 rows affected (0.00 sec)
……query ok, 0 rows affected (0.00 sec)
query ok, 0 rows affected (0.00 sec)
如果資料庫通過複製資料庫檔案備份,可以直接複製備份的檔案到到 mysql 資料目錄下實現還原。通過這種方式還原時,必須儲存備份資料的資料庫和待還原的資料庫伺服器的主版本號相同。而且這種方式只對 myisam 引擎的表有效。對於 innodb 引擎的表不可用。
mysqlhotcopy 備份後的檔案也可以用來恢復資料庫,在 mysql 伺服器停止執行時,將備份的資料庫檔案拷貝到 mysql存放資料的位置(mysql的 data 資料夾中),重新啟動mysql服務即可。如果以根使用者執行該操作,必須指定資料庫檔案的所有者。語法如下:
chown -r mysql.mysql /var/lib/mysql/dbname
cp -r /usr/backup/test usr/local/mysql/data
執行完該語句,重啟伺服器, mysql 將恢到備份狀態。
相同版本的 mysql 資料庫之間的遷移就是在主版本號相同的 mysql 資料庫之間進行資料庫移動。遷移過程其實就是在源資料庫備份和目標資料庫還原過程的組合。
mysqldump -h www.bac.com -uroot -ppassword dbname |
mysql -hwww.bcd.com -uroot -ppassword
mysqldump 匯出的資料直接通過管道符「|」,傳給 mysql 命令匯入主機 www.bcd.com 的資料庫中。dbname 為需要遷移的資料庫名稱,如果要遷移全部的資料庫,可使用引數 --all-databases。
因為資料庫公升級等原因,需要將較舊版本mysql資料庫中的資料遷移到的較新版本的資料庫中。
不同型別的資料庫之間的遷移,是指從把mysql的資料庫轉移到其他型別的資料庫,例如從mysql遷移到oracle,從oracle遷移到mysql和從mysql遷移到sqlserver等。
遷移之前,需要了解不同資料庫的架構,比較它們之間的差異。不同資料庫中定義相同型別的資料的關鍵字可能會不同。
據庫遷移可以使用一些工具,例如,在 windows 系統下,可以使用 myodbc 實現 mysql 和 sql servcr 之間的遷移。mysql官 方提供的工具 mysql migration toolkit 也可以在不同的資料庫之間進行資料遷移。
【注】參考於清華大學出版社《mysql資料庫應用案例課堂》2023年1月第1版
MySQL資料庫的備份 還原 遷移
d mysql 5.7.14 winx64 bin mysql h192.168.2.201 uroot pcnbi2018 引數說明 語法 mysqldump h主機名 p埠 u使用者名稱 p密碼 database 資料庫名 檔名.sql d mysql 5.7.14 winx64 bin mys...
mysql庫遷移 mysql資料庫遷移
由於yum安裝mysql的時候,資料庫的data目錄預設是在 var lib下,出於資料安全性的考慮需要把它挪到 data分割槽。步驟如下 一 關閉apache和mysql.複製 如下 二 將 var lib下的mysql目錄mv 移動 到data目錄。為什麼要用mv命令,而不用cp命令呢?應為li...
MySQL資料庫還原
當資料庫中的資料,遭到破壞時,可以通過備份好的資料檔案進行還原 是指還原資料庫中的資料,然後,庫是不能被還原的 備份檔案,實際上就是由多個create insert和drop語句組成,因此,只要使用mysql命令執行,這些語句就可以將資料還原 語法格式 mysql uusername ppasswo...