目前,我的数据库将近20 GB,并且还在不断增长。
我正在使用mysqldump进行每日备份,并且它的运行速度非常慢。
太慢了,以至于与此同时新的连接堆积起来并最终导致此错误:

SQLSTATE[HY000] [1040] Too many connections


(我可以提高已接受但无法执行的连接数量,因为连接仍然只是冻结,等待备份完成,这将导致超时)

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


选项--quick(可能会有所帮助)
选项--single-transaction(将防止表被锁定,但可能导致数据库不正确)
主从复制(可能是我能做的最好的事情,一个问题,我只有一台服务器可用)


实际上,主从复制似乎是最好的选择,因为我可以停止更新从属,进行备份并让其恢复同步。问题是我只有一台fysical机器可以使用。

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

最佳答案

如果仅使用innodb,请尝试xtrabackup

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

确实,复制从属服务器也是一个好主意。只要记住要定期check data consistency between the master and the slave

关于mysql - 当mysqldump变得非常慢的时候,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11713705/

10-12 16:19