[英]How do I backup a MySQL database?
备份数百万条目的数据库时,我需要考虑什么? 我可以使用任何工具(可能与MySQL服务器捆绑在一起)吗?
根据您的要求,我自己使用了几个选项:
方法我没试过,但这对我有意义:
FLUSH TABLES WITH READ LOCK
(当然,之后不要忘记UNLOCK TABLES
) 另外:
Mysqlhotcopy描述得很糟糕 - 只有在使用MyISAM时它才有效,并且它不热。
mysqldump的问题是恢复备份所需的时间(但如果您拥有所有InnoDB表,则可以使其变热,请参阅--single-transaction)。
我建议使用热备份工具,例如XtraBackup中提供的工具: http ://www.percona.com/docs/wiki/percona-xtrabackup:start
注意是否使用MyISAM存储引擎在大型表上使用mysqldump; 它会在每个表上运行转储时阻止选择,在某些情况下,这会占用繁忙的站点5-10分钟。
相比之下,使用InnoDB,由于其行级锁定,您将获得非阻塞备份,因此这不是一个问题。
如果需要使用MyISAM,常见的策略是复制到第二个MySQL实例,并对复制的副本执行mysqldump。
使用phpMyAdmin中的导出选项卡。 phpMyAdmin是一个免费的易于使用的Web界面,用于执行MySQL管理。
我认为mysqldump是正确的做法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.