1

目前我的数据库差不多有 20 GB 大并且还在增长。我正在使用 mysqldump 进行每日备份,它变得非常慢。太慢了,同时新的连接堆积起来,最终导致这个错误:

SQLSTATE[HY000] [1040] Too many connections

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

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

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

主从复制听起来确实是最好的选择,因为我可以阻止从属更新,进行备份,然后让它恢复同步。问题是我只有一台机器可以使用。

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

4

1 回答 1

0

如果你只使用 innodb - 试试xtrabackup

如果您同时使用 myisam 和 innodb -刷新 + lvm 快照 + 文件级副本可能对您有用。

确实,用于备份的复制从属服务器也是个好主意。只要记住定期检查主从之间的数据一致性

于 2012-08-29T19:37:56.420 回答