线上mysql主从服务器切换binlog_format

发布于 2022-08-31 20:21:10 字数 778 浏览 24 评论 0

现在服务器上面跑着已经配置好的主从环境,配置大概如下:

主:

# binlog_format="STATEMENT" # (默认配置)
server-id = 10
log_bin = /var/lib/mysql/mysql-bin

从:

server-id = 11
log_bin = mysql-bin
relay_log = /var/lib/mysql/mysql-relay-bin
log_slave_updates = 1
# binlog_format="STATEMENT" # (默认配置)

由于本身就在阿里云的ecs上面,现在想切换数据库直接使用阿里云的RDS数据库作为主数据库,rds提供了同步功能,但是需要主库是 binlog_format="STATEMENT" 基于行的复制配置。所以这里想改下配置但是能够将服务停止的时间降到最低。

另外需要释义的是:

  1. 基于row的复制需要停机然后拷贝数据到从库之后再开启slave吗?还是说主动将所有数据全部复制过来?
  2. 如果按照google的结果: 如何安全的线上改变binlog_format ,是我现在环境下地主从两台服务器都要执行 set global binlog_format=STATEMENT;语句还是从库会自动转换。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

Oo萌小芽oO 2022-09-07 20:21:10

主从复制是依照binlog的吧 被记录的操作才会被同步
运行的时候主服会将信息写进binlog里 然后从服务自己会过来抓(记得是要配置用户跟密码的)
配置是两边都要设置的 推荐还是晚上维护吧

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文