【发布时间】:2015-08-28 09:55:42
【问题描述】:
我有一个 MySQL 数据库,其中包含混合表(MyISAM、InnoDB)。
如何通过 Linux 命令行使用 mysqldump 创建数据库的完整备份,我应该使用什么选项?
【问题讨论】:
-
我不认为这属于 StackOverflow。问这个问题的最佳地点是dba.stackexchange.com
标签: mysql innodb mysqldump myisam
我有一个 MySQL 数据库,其中包含混合表(MyISAM、InnoDB)。
如何通过 Linux 命令行使用 mysqldump 创建数据库的完整备份,我应该使用什么选项?
【问题讨论】:
标签: mysql innodb mysqldump myisam
在下面使用-
所有 db 的通用命令 is-
mysqldump -uroot -proot123 -A > /path/mydbbackup.sql
如果您想根据自己的选择选择几个或全部 db,那么-
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 两个备份。
【讨论】:
目前没有方便的解决方案:
这两个选项是互斥的。您必须先选择数据库,然后再单独转储它们。
或者……
如果您的数据库同时包含这两种类型的表,只需运行 mysqldump 两次...
【讨论】: