本文共 1366 字,大约阅读时间需要 4 分钟。
部署 M-S-S
Master的配置
- 创建用户repl并授权,为 relay_server提供服务,可以在relay_server机器上用repl帐号,刷新权限使生效
- 配置 my.cnf,重启 mysqldlog-binserver-idbinlog-do-dbbinlog-ignore-dbsync-binlog=1binlog-format=row
- 配置 my.cnfa) Server-id=b) Log-bin=c) Log-slave-updates=1d) Binlog-format=row
- 重启mysqld
- 开始slave,指定主服务器的相关信息
- 查看relay_server的状态
- 作为slave_server的主,为slave提供服务,创建用户并授权,刷新权限
配置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: 2274Slave_SQL_Running: NoExec_Master_Log_Pos: 2020Last_SQL_Errno: 1146Last_SQL_Error: Error executing row event: 'Table 'db1.t1' doesn't exist'查看主的事件记录mysql> show binlog events in 'apenglinux-001.000002' from 2020\GEnd_log_pos: 2085End_log_pos: 2274在从上跳出两个事务,2085,2274在从上的操作:mysql> stop slave;mysql> set global sql_slave_skip_counter=2;mysql> start slave;mysql> show slave status\G -- 再次查看主从同步了转载于:https://blog.51cto.com/13480443/2311591