数据库
首页 > 数据库> > 如何备份MySQL数据库?

如何备份MySQL数据库?

作者:互联网

备份数百万条目的数据库时,我需要考虑什么?我可以使用任何工具(可能与MySQL服务器捆绑在一起)吗?

解决方法:

根据您的要求,我自己使用了几个选项:

>如果您不需要热备份,请关闭数据库服务器并备份到文件系统级别,即.即使用tar,rsync或类似的.
>如果确实需要数据库服务器继续运行,可以从mysqlhotcopy工具(perl脚本)开始,该工具锁定正在备份的表,并允许您选择单个表和数据库.
>如果您希望备份是可移植的,您可能希望使用mysqldump,它创建SQL脚本来重新创建数据,但是比mysqlhotcopy慢
>如果您在某个时间点拥有数据库的副本,您也可以将binlog(从该时间点开始)保存在安全的地方.这可以非常容易,并且不会干扰服务器的操作,但可能不是最快的恢复,并且您必须确保不要错过部分日志.

方法我没试过,但这对我有意义:

>如果您有像ZFS这样的文件系统或者在LVM上运行,那么通过执行文件系统快照来创建数据库快照可能是个好主意,因为它们非常非常快.只需记住在整个操作过程中确保数据库的一致状态,例如: G.用READ LOCK做FLUSH TABLES(当然,之后不要忘记UNLOCK TABLES)

另外:

>您可以使用主从设置将生产服务器复制到同一台计算机上的其他计算机或第二个实例,并对复制的副本执行上述任何操作,从而使您的生产计算机保持独立.您也可以定期启动从站,让它读取binlog,然后再将其关闭,而不是连续运行.
>我认为,MySQL集群和企业许可版本有更多的工具,但我从未尝试过.

标签:mysql,database,backup,database-backups
来源: https://codeday.me/bug/20190712/1443012.html