我有一个运行在MySQL数据库后端上的网站,它每天都由以下命令备份:
mysqldump -h server.com -uuser -ppass database > /home/directory/backup`date +"%Y%m%d"`.sql我注意到,随着数据库越来越大,备份需要更长的时间(也许几分钟),站点在备份过程中不能正常工作。
需要在备份期间加载数据库的页面在备份期间挂起,并且在备份完成之前无法加载。通常情况下,它们似乎不会超时,直到备份完成后出现30秒的MySql超时错误--尽管超过30秒已经过去了。
我猜mysqldump命令锁定了对数据库某些部分的访问,并阻止了来自any服务器的客户端连接,但是找不到更多有关这方面的信息。
我在服务器上运行mysql 5,表采用ISAM格式。
发布于 2010-08-22 08:56:35
您可以使用复制将数据库复制到另一个数据库,然后备份副本。
发布于 2010-08-22 09:23:42
对于MyISAM表,也可以使用mysqlhotcopy。但是,这不会消除您的问题,因为这也使用表锁。因此,我还建议查看复制。
https://serverfault.com/questions/173205
复制相似问题