在本教學中,您將學習如何使用mysqldump工具備份MySQL資料庫。
MySQL GUI工具(如phpMyAdmin,SQLyog等)通常為備份MySQL資料庫提供了方便的功能。 但是,如果您的資料庫很大,則備份過程可能非常慢,因為備份檔需要通過網路傳輸到客戶端PC。因此,備份過程增加了MySQL資料庫伺服器的鎖定和可用時間。
MySQL提供了非常有用的工具,用於在伺服器上本地備份或轉儲MySQL資料庫。 備份檔存儲在伺服器中的檔系統中,因此您只需在需要時下載即可。
備份MySQL資料庫的工具是mysqldump
。它位於MySQL安裝檔夾的根/bin
檔夾中。如本教程安裝的位置為:D:\software\mysql-5.7.18-winx64\bin\mysqldump.exe
mysqldump
是由MySQL提供的程式,可用於轉儲資料庫以備資料庫或將資料庫傳輸到另一個資料庫伺服器。
轉儲檔包含一組用於創建資料庫對象的SQL語句。 此外,mysqldump
可用於生成CSV,分隔符號或XML檔。 在本教學中,我們將僅關注如何使用mysqldump
工具備份MySQL資料庫。
在本教學中,我們將僅關注如何使用mysqldump
工具備份MySQL資料庫。
如何備份MySQL資料庫
要備份MySQL資料庫,資料庫首先必須存在於資料庫伺服器中,並且您也可以訪問該伺服器。 如果沒有遠程桌面,可以使用SSH或Telnet登錄到遠程伺服器。備份MySQL資料庫的命令如下:
mysqldump -u [username] –p[password] [database_name] > [dump_file.sql]
上述命令的參數如下:
[username]
:有效的MySQL用戶名。[password]
:用戶的有效密碼。 請注意,-p
和密碼之間沒有空格。[database_name]
: 要備份的資料庫名稱[dump_file.sql]
: 要生成的轉儲檔。
通過執行上述命令,所有資料庫結構和數據將導出到一個[dump_file.sql]
轉儲檔中。 例如,要備份示例資料庫zaixiandb
,可使用以下命令:
mysqldump -u root –p123456 zaixiandb > D:\worksp\bakup\zaixiandb001.sql
執行上面語句,如下所示 -
C:\Users\Administrator> mysqldump -u root -p123456 zaixiandb > D:\worksp\bakup\zaixiandb001.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
C:\Users\Administrator>
執行後,將創建一個檔:D:\worksp\bakup\zaixiandb001.sql
如何僅備份MySQL資料庫結構
如果只想備份資料庫結構而不需要備份數據,那麼只需要添加一個選項-no-data
來告訴mysqldump
只需要導出資料庫結構,如下:
mysqldump -u [username] –p[password] –no-data [database_name] > [dump_file.sql]
例如,僅使用結構來備份示例資料庫,可以使用以下命令:
C:\Users\Administrator> mysqldump -u root –p123456 -no-data zaixiandb > D:\worksp\bakup\backup002.sql
如何僅備份MySQL資料庫數據
有一種情況,您希望在分段和開發系統中刷新數據,因此這些系統中的數據與生產系統相同。
在這種情況下,只需要從生產系統導出數據,並將其導入到臨時或開發系統中。要實現只備份數據,您可以使用mysqldump
的選項-no-create-info
,如下所示:
mysqldump -u [username] –p[password] –no-create-info [database_name] > [dump_file.sql]
例如,要僅使用數據來備份示例資料庫(zaixiandb
),請使用以下命令:
mysqldump –u root –p123456 –no-create-info zaixiandb > D:\worksp\bakup\backup003.sql
如何將多個MySQL資料庫備份到一個檔中
如果要通過[database_name]
中的命令來備份多個數據庫,只需單獨的資料庫名稱即可。 如果要備份資料庫伺服器中的所有資料庫,請使用選項-all-database
。
mysqldump -u [username] –p[password] [dbname1,dbname2,…] > [all_dbs_dump_file.sql]
mysqldump -u [username] –p[password] –all-database > [all_dbs_dump_file.sql]
在本教學中,您已經學習了如何使用mysqldump
工具來備份具有多種選項的MySQL資料庫。