mysql - 备份MySQL数据库

标签 mysql backup mysqldump blocking

我有一个大约 1.7GB 的 MySQL 数据库。我通常使用 mysqldump 备份它,这大约需要 2 分钟。但是,我想知道以下问题的答案:

  1. mysqldump 是否会阻止对数据库的读取和/或写入操作?因为在实际场景中,我不想阻止用户在备份数据库时使用它。

  2. 我最好只备份整个数据库一次,比如说一周一次,但在中间的日子里,只需要备份一个表,因为其他表不会改变。有办法实现吗?

  3. 对于这些目的,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/

相关文章:

php - 有效地计算在 php 中返回的结果

mysql - 分析连接以诊断 "too many connections"错误

php - PDO mysql 查询类似数组值

MySQL Import into Innodb table 在某个点严重尖峰

仅 mysqldump 模式,模式更新而不删除

php - 从 5.3 更改为 5.5 php 出现 SQL 错误 : 1064 in loop

MySQL InnoDB 数据库恢复

android - 现在有人知道如何注册 Google Backup API key 吗?

mysql - 操纵巨大的 MySQL 转储文件

php - PHP cron 作业期间 mysqldump 的 MySQL 重新加载权限 : Use MySQL admin account or create unique user? 安全性?