我有一个大约 1.7GB 的 MySQL 数据库。我通常使用 mysqldump 备份它,这大约需要 2 分钟。但是,我想知道以下问题的答案:
mysqldump 是否会阻止对数据库的读取和/或写入操作?因为在实际场景中,我不想阻止用户在备份数据库时使用它。
我最好只备份整个数据库一次,比如说一周一次,但在中间的日子里,只需要备份一个表,因为其他表不会改变。有办法实现吗?
对于这些目的,mysqlhotcopy 是更好的选择吗?
最佳答案
mysqlhotcopy 在读锁丢失的某些情况下不起作用, 并且不适用于 INNODB 表。
mysqldump用的比较多,因为它可以备份各种表。
来自 MySQL 文档
mysqlhotcopy 是一个 Perl 脚本,最初由 Tim Bunce 编写和贡献。它使用 LOCK TABLES、FLUSH TABLES 和 cp 或 scp 来快速备份数据库。这是备份数据库或单个表的最快方法,但它只能在数据库目录所在的同一台机器上运行。 mysqlhotcopy 仅适用于备份 MyISAM 和 ARCHIVE 表。它运行在 Unix 和 NetWare 上
mysqldump 客户端是一个备份程序,最初由 Igor Romanenko 编写。它可用于转储数据库或数据库集合以进行备份或传输到另一个 SQL 服务器(不一定是 MySQL 服务器)。转储通常包含用于创建表、填充表或两者的 SQL 语句。但是,mysqldump 也可用于生成 CSV、其他分隔文本或 XML 格式的文件。
再见。
关于mysql - 备份MySQL数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1292446/