使用 Mysqldump 匯出 MySQL 資料庫
本教程將教授如何使用 mysqldump
實用程式匯出 MySQL 資料庫。
我們將看到使用 mysqldump
的語法、它的引數以及使用它的原因。我們還將通過帶/不帶資料的備份以及匯出表和資料庫來練習此實用程式。
對於本指南,我們使用 MySQL 版本 8.0.27。你可以從此處獲得最新版本(如果有)。
使用 mysqldump
匯出/備份 MySQL 資料庫
在這個時代,DATA 就是一切。這就是為什麼資料庫管理員讓我們的資料安全且 24/7 可用的原因;有一些必要的和意外的情況,他們必須匯出資料(資料丟失或資料故障)。
請記住,備份的方法因不同的資料庫平臺而異。在這裡,我們將瞭解 MySQL 資料庫的命令列實用程式 mysqldump
。
使用 mysqldump
實用程式的原因
- 主要原因是在需要時備份資料庫。
- 你可以匯出資料庫結構(沒有資料的資料庫)。
- 它還允許你一次備份單個/許多/所有資料庫。
mysqldump
還允許你備份特定資料庫中的特定表。- 它非常容易用於匯出有/沒有資料的資料庫。
- 它有各種引數,我們可以根據需要調整以完成工作。
使用 mysqldump
實用程式的引數
我們將為本教程中使用的命令使用一些引數。 -u [username]
和 -p [password]
用於提供連線 MySQL 資料庫的使用者名稱和密碼。建議你稍後在詢問時輸入密碼,而不是在 -p
之後輸入密碼(參見下面給出的示例)。
然後 [option]
出現在你可以指定你的需求的地方。例如,你希望使用 --no-data
選項進行無資料備份。
之後,需要 [資料庫名稱]
。如果你想從資料庫中匯出某個表,你可以在 [database name]
之後寫 [table name]
。
接下來,你可以根據需要使用 >
(大於)符號匯出到檔案或使用 <
(小於)符號進行恢復。你可以在這裡瞭解 mysqldump
的許多其他引數。
僅備份資料庫結構
你可能會發現某些情況下你只想匯出資料庫結構。然後,你可以使用帶有 --no-data
選項的 mysqldump
命令。
以下命令將匯出 person
資料庫結構。
mysqldump -u root -p --no-data person > E:\Backup\person_database_structure.sql
從資料庫備份單個/多個表
有時,需要從特定資料庫中匯出特定表。在這種情況下,mysqldump
允許你從該資料庫備份單個或多個表。
你必須在資料庫名稱後寫表名才能匯出單個表。資料庫名後可以寫多個表名,匯出多張表。
# export one table named customer from database named person
mysqldump -u root -p person customer > E:\Backup\customer_table_from_person.sql
# export two tables named customer and employee from database named person
mysqldump -u root -p person customer employee > E:\Backup\customer_employee_from_person.sql
備份單個/多個/所有資料庫
如果你專注於備份所有資料庫而不是隻備份一個會怎樣?你可以通過 --all-database
選項以下列方式使用 mysqldump
。
mysqldump -u root -p --all-databases > E:\Backup\all_databases_backup.sql
如果你只想匯出一個或多個資料庫,可以按以下方式在 --databases
選項後寫入資料庫名稱,並用一個空格分隔。
mysqldump -u root -p --databases person courses > E:\Backup\person_courses_backup.sql
使用以下命令匯出一個資料庫。
mysqldump -u root -p person > E:\Backup\person_backup.sql
まとめ
我們詳細瞭解了 mysqldump
命令列實用程式。我們討論了它的引數以及使用它的原因。我們還學習瞭如何使用不同的引數匯出帶有/不帶有資料的單個或多個表和資料庫。