2015-08-28 110 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的两倍......