MySQL資料庫備份與還原 資料庫備份也叫SQL數據備份,備份的結果都是SQL指令。 在MySQL中專門提供了一個用於資料庫備份的SQL客戶端:mysqldump.exe(MySql document copy),sql備份是一種MySQL非常常見的備份與還原方式,SQL備份不只是備份數據,還備份對 ...
MySQL資料庫備份與還原
資料庫備份也叫SQL數據備份,備份的結果都是SQL指令。
在MySQL中專門提供了一個用於資料庫備份的SQL客戶端:mysqldump.exe(MySql document copy),sql備份是一種MySQL非常常見的備份與還原方式,SQL備份不只是備份數據,還備份對應的SQL指令(表結構),即便是資料庫遭到了毀滅性的破壞(資料庫被刪除),那麼利用SQL備份依然可以實現數據還原。
註意:
SQL備份因為需要備份結構,因此產生的備份文件特別大,因此不適合特大型的數據備份,也不適合數據變換頻繁新資料庫備份。
SQL備份用到的是專門的備份客戶端,因此還沒於資料庫伺服器進行連接。
資料庫備份基本語法:
mysqldump/mysqldump.exe -hPuP 資料庫名稱 【表1,表2.......】 > 備份文件地址
可以理解為:使用備份客戶端 對 指定的用戶中的 資料庫、資料庫表進行備份 到 指定的備份文件地址上。
備份可以有三種形式:
1.整庫備份(只需要提供資料庫的名字)
mysqldump -hlocalhost -p3306 -uroot -p123456 school > C:\Users\hasee\Desktop\資料庫備份測試1
理解:為將root用戶中的資料庫school備份到C盤桌面上並且以(資料庫備份測試1)這個作為文件名。
2.單表備份
mysqldump -hlocalhost -p3306 -uroot -p123456 school my_date> C:\Users\hasee\Desktop\資料庫備份測試2.sql
3.多表備份
mysqldump -hlocalhost -p3306 -uroot -p123456 school my_date my_int> C:\Users\hasee\Desktop\資料庫備份測試3.sql
查看SQL備份文件中的具體內容:在前面我們說過資料庫備份實際上就是一些SQL指令。
數據還原
MySQL提供了多種方法來實現數據的還原:兩種
MySQLdump 備份的數據中沒有關於資料庫本身的操作,都是針對錶級別的操作,當進行數據還原,
必須指定資料庫。
1.利用mysql.exe客戶端,在沒有登錄之前,可以直接用該客戶端進行數據還原。
mysql.exe -hpup 資料庫 < 文件位置
還原數據
mysql -uroot -p123456 school < C:\Users\hasee\Desktop\資料庫備份測試1
可以理解為:將指定的備份文件 還原到 root用戶的school資料庫中。
2.在SQL指令,提供了一種導入SQL指令的方式。
Source SQL文件位置;// 必須先進入到對應的資料庫。
在這裡可能出現文件導入問題
原因:
sql文件路徑有中文或者空格(參考資料中路徑名有空格)反斜杠。
解決方法:
將中文名字修改為英文
source C:/Users/hasee/Desktop/lixiaochi.sql;
3.人為操作,打開備份文件,複製所有SQL指令,然後到MySQL.exe客戶端中去粘貼執行。
直接複製粘貼,就可以了。