完成每日 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 需要锁定数据库以创建一致的转储文件。我认为这就是导致超时的原因。