目前我正在使用mysqldump程序创建备份,下面是我如何运行它的一个示例。
mysqldump --opt --skip-lock-tables --single-transaction --add-drop-database
--no-autocommit -u user -ppassword --databases db > dbbackup.sql我整天都在我的数据库上执行大量的插入和更新,但是当这个过程开始时,它真的会减慢插入和更新的速度,有人看到我备份它的方式中有什么缺陷吗?(例如,表被锁定),或者有什么方法可以改进备份过程,使其不会对插入和更新产生太大影响?
谢谢。
发布于 2013-02-26 21:04:27
在不干扰生产数据库的情况下执行此操作的最好方法是设置主/从复制,然后从从数据库进行转储。
有关MySQL复制的更多信息,请单击此处http://dev.mysql.com/doc/refman/5.1/en/replication-howto.html
发布于 2013-02-28 08:31:23
即使使用--skip- lock -tables,mysqldump也会对每个表发出一个读锁定,以保持一致性。使用mysqldump将始终锁定您的数据库。要执行热mysql备份,您将需要设置一个从数据库(这意味着一些成本)或使用一些专用工具,如Percona Xtrabackup (http://www.percona.com/software/percona-xtrabackup),如果您的数据库是innoDB,那就是(我们在从数据库上对To级数据使用xtrabackup,没有问题)。如果您的数据库不是那么大,那么拥有一个从数据库并锁定它来执行备份应该不是什么大问题:) )
https://stackoverflow.com/questions/15089641
复制相似问题