使用 MyISAM 和 InnoDB 表备份 MySQL 数据库
Backup MySQL database with MyISAM & InnoDB tables
我有一个包含混合表(MyISAM、InnoDB)的 MySQL 数据库。
如何通过 Linux 命令行使用 mysqldump 创建数据库的完整备份,我应该使用什么选项?
使用下面-
所有数据库的通用命令是-
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
如果您想进行 table 备份,那么-
mysqldump -uroot -proot123 mydb mytable > /path/mydbbackup.sql
其中用户名是root,密码是root123,你可以根据自己的改
注意:mysqldump 实用程序对 innodb 和 myisam 进行备份。
目前没有方便的解决方案:
- MyISAM 表需要选项 --lock-tables
- InnoDB 表需要选项 --single-transaction --skip-lock-tables
这两个选项是互斥的。您必须先 select 个数据库,然后单独转储它们。
或者...
如果您的数据库包含两种类型的表,只需 运行 mysqldump 两次...
我有一个包含混合表(MyISAM、InnoDB)的 MySQL 数据库。
如何通过 Linux 命令行使用 mysqldump 创建数据库的完整备份,我应该使用什么选项?
使用下面-
所有数据库的通用命令是-
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
如果您想进行 table 备份,那么-
mysqldump -uroot -proot123 mydb mytable > /path/mydbbackup.sql
其中用户名是root,密码是root123,你可以根据自己的改
注意:mysqldump 实用程序对 innodb 和 myisam 进行备份。
目前没有方便的解决方案:
- MyISAM 表需要选项 --lock-tables
- InnoDB 表需要选项 --single-transaction --skip-lock-tables
这两个选项是互斥的。您必须先 select 个数据库,然后单独转储它们。
或者...
如果您的数据库包含两种类型的表,只需 运行 mysqldump 两次...