這里記錄下MySQL如何通過命令行備份和還原數據庫。
簡單的三個步驟
方法很簡單,可以分為三個步驟:
1.打開cmd控制台(命令行)。
2.輸入相應命令完成備份還原操作。
3.關閉cmd控制台。
就和三步將大象塞進冰箱是一樣的,非常簡單(手動滑稽)。
備份和還原的命令
備份用的是mysqldump命令:
mysqldump -u 用戶名 -p -d 數據庫名 -t 表名 > 盤符:\路徑\文件名.sql
這里的-d和-t能夠省略。
還原用的是source命令:
source 盤符:\路徑\文件名.sql;
備份和還原數據庫的示例
假設現在有一個yanggb數據庫,我要通過命令行去備份和還原這個庫。
在備份/還原之前,如果沒有配置MySQL執行環境的環境變量的話,首先要cd到MySQL安裝目錄的bin目錄。
備份(導出)yanggb數據庫:
mysqldump -u root -p yanggb > d:\yanggb.sql
輸入完上述命令之后,會提示讓你輸入密碼,輸入root用戶正確的密碼就會開始yanggb庫的備份了。
另外的,也可以只備份yanggb數據庫中的renj表:
mysqldump -u root -p yanggb renj > d:\yanggb.renj.sql
執行還原命令之前,首先要登錄到mysql:
mysql -u root -p
輸入root用戶正確的密碼就可以登錄上了。
然后要選擇一個還原的目標數據庫:
use yanggb1;
這里就還原到yanggb1庫好了,如果沒有yanggb1庫的話,你首先要創建一個yanggb1的庫。
還原yanggb數據庫:
source d:/yanggb.sql;
這樣,就完成yanggb數據庫的備份和還原。
借助Navicat工具高效備份和還原
如果借助Navicat工具的【轉儲SQL文件】和【運行SQL文件】兩個功能會使事情變得簡單得多,但是原理還是上面的命令,只是簡化了操作,因此上面的命令了解一下還是很必要的。另外Navicat的執行效率要比直接在命令行執行要高得多,如果能借助Navicat工具的話盡量選擇這種方式。
使用非常簡單,在要備份還原的數據庫上點擊右鍵即可在右鍵菜單中看見這兩個功能。要注意的是,這兩個功能都要在數據庫被打開且被選中的情況下使用。
總結
如果細心的你查看了導出的SQL文件,就會發現,這個命令行備份主要是導出了完整的SQL腳本,里面包括了刪除表(如果表存在),創建表,往表中插入數據的SQL語句。然后使用source命令是執行保存在本地磁盤上的腳本文件。這種方式實際上是將原來的表刪除,然后創建新的表,再一行一行地往表中插入記錄。如果庫、表中的數據很多的話,效率就很慢,性能很低。積極尋找怎么快速完成MySQL備份還原的方法是一個新的課題。
"我只能像現在這樣,不吵不鬧,不悲不喜,安安靜靜的,與你再無交集。"