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的配置方法相关内容,大家还有什么不明白的地方吗?或者想要了解更多相关,可以继续关注我们的行业资讯板块。


文章标题:mysql_master、relay_server、Slave_server的配置方法
网站网址:http://scyanting.com/article/gcodhs.html