使用MyISAM备份MySQL数据库& InnoDB表

时间:2015-08-28 09:55:43

标签: mysql innodb mysqldump myisam

我有一个带有混合表的MySQL数据库(MyISAM,InnoDB)。

如何通过Linux命令行使用mysqldump创建数据库的完整备份,我应该使用哪个选项?

2 个答案:

答案 0 :(得分:0)

使用以下 -

所有数据库的通用命令是 -

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作为备份。

答案 1 :(得分:0)

目前没有方便的解决方案:

  • MyISAM表需要选项--lock-tables
  • InnoDB表需要选项--single-transaction --skip-lock-tables

两个选项都是互斥的。您必须先选择数据库,然后单独转储它们。

或者...

如果你有两种类型的表的数据库,只需运行mysqldump两次......