![将二进制日志添加到现有的 mysql 服务器](https://linux22.com/image/702039/%E5%B0%86%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%97%A5%E5%BF%97%E6%B7%BB%E5%8A%A0%E5%88%B0%E7%8E%B0%E6%9C%89%E7%9A%84%20mysql%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我在一台 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 导出以来主服务器上的二进制日志中的所有事务。