如何无超时完成mysql每日备份转储?

如何无超时完成mysql每日备份转储?

完成每日 Mysql 数据库备份的最佳方法是什么,我们在备份转储期间遇到了严重的 mysql 数据库连接超时

我们使用 dump 和 gzip

cron 中有一行:

 1 1 * * * root nice -n 19 /etc/automysqlbackup.sh

转储期间发生问题。

答案1

逻辑备份(mysqldump,就像您的脚本所使用的那样)锁定数据库。这将中断客户端操作。

我备份关键任务数据库的方法是在 OpenSolaris 上使用 InnoDB,并每天对数据目录和日志目录进行 ZFS 快照。

然后将这些快照复制到异地服务器。

由于 InnoDB 是事务性的并且快照是原子的,因此无需在拍摄快照之前关闭服务器(从中恢复就像从突然断电中恢复一样:InnoDB 支持它)。

答案2

是否正在将 mysql 数据库转储到网络 (NFS) 共享上?我们遇到了类似的超时问题,因此我们不得不使用以下两个选项重新启动 mysql 守护进程:

/etc/my.cnf

[mysqld]
net_read_timeout=300
net_write_timeout=300

请让我们知晓您的最新结果!

斯蒂维

答案3

  • 如果压缩是问题所在,请从另一台连接到 mysql 服务器的机器上运行备份作业,然后在那里压缩。
  • 除了使用 mysql5 进行转储之外,您还可以使用 mysqlhotcopy
  • 但另一方面,可能是你的磁盘 io 太慢了。它们是什么类型的磁盘,你有多少个 io……?

答案4

要创建可以实际使用的转储,mysql 需要锁定数据库以创建一致的转储文件。我认为这就是导致超时的原因。

相关内容