Mariadb

導出 MariaDB,沒有 DROP DATABASE 或 CREATE DATABASE

  • July 26, 2021

我正在使用 MariaDB 10.5,如果我執行以下操作:

"C:/Program Files (x86)/MariaDB 10.5/bin/mysqldump" --skip-comments --compact --lock-tables=false --add-drop-database --host=localhost --user=trainer --password=PASSWORD training > C:/Users/splatten/Documents/TrainerS1D5.sql

在命令中,我指定了要導出的數據庫training,它從該數據庫中導出表、數據和儲存過程。

看起來它應該可以工作,但它不包括DROP DATABASECREATE DATABASE

DROP DATABASEandCREATE DATABASE命令通常不是預設轉儲操作的一部分。您需要在命令中添加一項:

--databases-B

如果您願意,這將允許您轉儲多個數據庫,但如果您希望在定義每個數據庫之前在輸出中包含CREATE DATABASE並嵌入,您也可以使用此選項。USE

關於--add-drop-database

正如人們所期望的那樣,此選項將DROP DATABASE在每個CREATE DATABASE. 此選項通常與--all-databasesor—databases選項一起使用,因為如果沒有CREATE DATABASE指定這些選項之一,則不會編寫任何語句。

因此,考慮到這一點,您的命令將如下所示:

C:\Program Files (x86)\MariaDB 10.5\bin\mysqldump" --skip-comments --compact --lock-tables=false --add-drop-database --host=localhost --user=trainer --password=PASSWORD --databases training > C:\Users\splatten\Documents\TrainerS1D5.sql

**注意:**我不確定您在命令中使用的正斜杠是否是故意的。我已經用 Windows 通常需要的反斜杠替換了它們。如果這是錯誤的,請隨時將它們切換回來。

引用自:https://dba.stackexchange.com/questions/296163