目前我的数据库差不多有 20 GB 大并且还在增长。我正在使用 mysqldump 进行每日备份,它变得非常慢。太慢了,同时新的连接堆积起来,最终导致这个错误:
SQLSTATE[HY000] [1040] Too many connections
(我可以提高接受的连接数量,但这不会做任何事情,因为连接仍然只是冻结,等待备份完成,这将导致超时)
我一直在阅读一些提高速度的选项,这就是我发现的:
- 选项 --quick (可能会有所帮助)
- 选项 --single-transaction (将防止表被锁定,但可能导致数据库变得不正确)
- 主从复制(可能是我能做的最好的事情,一个问题,我只有一台服务器可用)
主从复制听起来确实是最好的选择,因为我可以阻止从属更新,进行备份,然后让它恢复同步。问题是我只有一台机器可以使用。
我知道我可以在这台服务器上设置多个 mysql 实例。问题是:这样做是否明智?从站实际上仅用于生成该备份文件(将被复制到网络上的不同磁盘),以便主站可以保持活动状态。