什么时候mysqldump变得非常慢

时间:2012-07-29 22:59:53

标签: mysql database-replication database-backups backup-strategies

目前我的数据库差不多有20 GB,而且还在增长。 我正在使用mysqldump进行每日备份,而且速度非常慢。 如此缓慢,同时新连接堆积起来并最终导致此错误:

SQLSTATE[HY000] [1040] Too many connections

(我可以改善已接受的连接数但不会做任何事情,因为连接仍然只是冻结,等待备份完成,这将导致超时)

我一直在阅读一些提高速度的选项,这就是我发现的:

  1. 选项 - 快速(可能会有所帮助)
  2. 选项--single-transaction(将阻止表被锁定,但可能导致数据库变得不正确)
  3. 主从复制(可能是我能做的最好的事情,一个问题,我只有一台服务器可用)
  4. 主从复制真的听起来像是最好的选择,因为我可以阻止奴隶更新,进行备份,让它恢复同步。问题是我只有一台可以使用的机器。

    我知道我可以在这台服务器上设置多个mysql实例。问题是:这样做是否明智?  slave实际上只用于生成该备份文件(将被复制到网络上的其他磁盘),以便主服务器可以保持活动状态。

1 个答案:

答案 0 :(得分:0)

如果你只使用innodb - 试试xtrabackup

如果您同时使用myisam和innodb - flush + lvm snapshot + file-level copy可能适合您。

确实,备份的复制从站也是个好主意。只记得定期check data consistency between the master and the slave