微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mysql_master、relay_server、Slave_server的配置方法

下面讲讲关于mysql_master、relay_server、Slave_server的配置方法文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MysqL_master、relay_server、Slave_server的配置方法这篇文章你一定会有所受益。

部署 M-S-S

  • 首先确保三台机器要同步的库的数据一致性的情况下
  • Master的配置

    1. 创建用户repl并授权,为 relay_server提供服务,可以在relay_server机器上用repl帐号,刷新权限使生效
    2. 配置 my.cnf,重启 MysqLd
      log-bin
      server-id
      binlog-do-db
      binlog-ignore-db
      sync-binlog=1
      binlog-format=row
  • mysql_master、relay_server、Slave_server的配置方法

  • relay_server的配置
  1. 配置 my.cnf
    a)  Server-id=
    b)  Log-bin=
    c)  Log-slave-updates=1
    d)  binlog-format=row
  2. 重启MysqLd
  3. 开始slave,指定主云服务器的相关信息
  4. 查看relay_server的状态
  5. 作为slave_server的主,为slave提供服务,创建用户并授权,刷新权限
  • Slave_server的配置

    配置my.cnf
    a)  Server-id=
    b)  Log-bin=
    c)  binlog-format=row
    重启msqld
    开始slave,指定主云服务器的相关信息
    查看slave的状态

在 master上插入数据测试:    
分别在 relay_server,slave_server上查看

Relay_server也能查到数据,是因为存储引擎的原因

作为relay_server只提供中继服务,不储存数据
MysqL> Set sql_log_bin=off;
MysqL> Alter table t1 engine=blackhole;

MysqL> set sql_log_bin=on;
特别注意:MysqL –uroot –p123456 –e “set sql_log_bin=off”这样设置是不会生效的
本人在这里浪费了很长时间???
这样就实现了中继,不提供存储数据。


错误排查:

当从云服务器没有主云服务器同步的表t1时,向主云服务器的表t1插入数据,些时从云服务器会报错。
MysqL> show slave status\G  -- 挑选出来下面的问题点
Read_Master_Log_Pos: 2274
Slave_sql_Running: No
Exec_Master_Log_Pos: 2020
Last_sql_Errno: 1146
Last_sql_Error: Error executing row event: 'Table 'db1.t1' doesn't exist'
查看主的事件记录
MysqL> show binlog events in 'apenglinux-001.000002' from 2020\G
End_log_pos: 2085
End_log_pos: 2274
在从上跳出两个事务,2085,2274
在从上的操作:
MysqL> stop slave;
MysqL> set global sql_slave_skip_counter=2;
MysqL> start slave;
MysqL> show slave status\G  -- 再次查看主从同步

对于以上MysqL_master、relay_server、Slave_server的配置方法相关内容,大家还有什么不明白的地方吗?或者想要了解更多相关,可以继续关注我们的行业资讯板块。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐