将二进制日志添加到现有的 mysql 服务器

将二进制日志添加到现有的 mysql 服务器

我在一台 Centos 服务器上有一个相当大的数据库(约 5000 万行)。我想设置复制,但现有数据库没有二进制日志。

有没有办法可以追溯添加二进制日志,以便复制数据?

如果没有,我认为唯一的方法是使用 mysqldump 转储数据库,然后将其导入到启用了二进制日志的新安装的服务器中,然后使用该新服务器作为新的主服务器 - 这样做有什么问题吗?我需要使用任何特定标志导出/导入数据吗?

答案1

有没有办法可以追溯添加二进制日志,以便复制数据?

是的。尽管需要重新启动服务器,但您可以随时将单个 MySQL 服务器升级为复制群集中的主服务器。

手册中对这些步骤进行了详细的记录:https://dev.mysql.com/doc/refman/5.7/en/replication-configuration.html

实质上,您通过开始收集二进制日志将单个 MySQL 升级为主服务器。启动二进制日志记录后,您可以从正在运行的主服务器创建初始导出,以填充从服务器。使用mysqldump选项 运行--master-data=1。该选项将允许从服务器识别在主服务器上创建导出的时间点。

一旦导入该导出操作完成,从服务器就可以使用来master-data查询主服务器,以重放自创建 mysqldump 导出以来主服务器上的二进制日志中的所有事务。

相关内容