使用 mysqldump 时我应该使用--single-transaction
? 我应该总是使用-q
?
转储多个 MySQL 数据库的最佳做法是什么?(--all-databases
)
答案1
这完全取决于您的需求。阅读手册页,使用标志创建所需的转储类型,然后测试恢复。锁定时要小心,因为它可能会阻止您的应用程序在不同级别上工作。
MySQL 有多种备份策略,根据引擎类型而有所不同。备份 MyISAM 的方法并不总是适用于 InnoDB。Serverfault 上对此主题进行了详尽介绍,我建议您搜索该网站。
我偏爱的策略之一:
- 用于备份的复制从属程序和用于创建夜间 tarball 的 crontab。
- 使用 mysqldump 和 mysqlhotcopy 转储小型数据库、模式和 mysql 数据库的自定义脚本。
答案2
我建议阅读 MySQL 性能博客(有关 MySQL 性能的优秀书籍的作者)中与备份相关的一些帖子:http://www.mysqlperformanceblog.com/category/backups/. (Xtrabackup 已涵盖)。
请注意,Maatkit 工具非常适合许多任务,包括转储,但可能不是一个好的备份工具。-ab