2015-08-28 61 views
0

我有一個帶有混合表(MyISAM,InnoDB)的MySQL數據庫。使用MyISAM&InnoDB表備份MySQL數據庫

如何使用mysqldump通過Linux命令行創建數據庫的完整備份,我應該使用哪個選項?

+0

我不認爲這屬於在計算器上。 http://dba.stackexchange.com/提出這個問題的最佳地點將會結束。 – MeanGreen

回答

0

使用如下─

所有DB的

通用命令是 -

mysqldump -uroot -proot123 -A > /path/mydbbackup.sql 

如果你想採取一些或所有數據庫的按照你的選擇,則─

mysqldump -uroot -proot123 -B mydb1 mydb2 mydb3 > /path/mydbbackup.sql 

如果您想要避免鎖定,然後使用單個交易選項 -

mysqldump --single-transaction -uroot -proot123 -A > /path/mydbbackup.sql 

如果要採取具體的數據庫備份,則─

mysqldump -uroot -proot123 mydb > /path/mydbbackup.sql 

如果你想利用表備份則 -

mysqldump -uroot -proot123 mydb mytable > /path/mydbbackup.sql 

其中用戶名是root,密碼是root123,您可以更改根據你的要求

注意:mysqldump實用程序需要innodb和myisam兩個備份。

0

目前還沒有方便的解決方案:

  • MyISAM表所需的選項--lock桌
  • InnoDB表所需的選項--single事務--skip-鎖表

這兩個選項是互斥的。您必須先選擇數據庫,然後分別轉儲它們。

或者......

如果您有兩種類型的表的數據庫,只要運行mysqldump的兩倍......