mysql双一参数_mysql双主配置及其注意事项

mysql双主配置及其注意事项

主库配置

[mysqld]

server-id = 1

log-bin=mysql1-bin

#salve-net-timeout默认是3600秒,缩短时间是为了防止双YES的假象

slave-net-timeout=60

auto_increment_offset=2

auto_increment_increment=2

如果要指定同步或不同步哪些库,可使用如下参数

#binlog-do-db=osyunweidb #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行

#binlog-ignore-db=mysql #不同步mysql系统数据库

从库配置

[mysqld]

server-id = 2

log-bin=mysql2-bin

#salve-net-timeout默认是3600秒,缩短时间是为了防止双YES的假象

slave-net-timeout=60

auto_increment_offset=1

auto_increment_increment=2

主键冲突

多主和主从有一点区别:因为在多主中都有对服务器有写的权限,所以会造成主键冲突。从而导致同步失败。所以需要保证自增长的数据不同。使用auto_increment_offset和auto_increment_increment来解决。

auto_increment_offset

auto_increment_increment

这两个参数的作用:

控制自增列auto_incremnet的行为

用于master_master之间的复制,防止出现重复值

auto_increment_increment:自增值的自增量

auto_increment_offset: 自增值的偏移量

一般设置:

auto_increment_offset=1 偏移量从开始,依次增加

auto_increment_offset=N 有几台主服务器,就设置为N,这样就可以保证他们之间的主键不冲突。

主从同步故障解决办法:

适用于数据相差不大。要求不严格的情况。

在主库上锁表 flush tables with read lock

在从库上执行:

stop slave;

#跳过错误的步骤,可以改变后面的数字,实现多次跳转

set global sql_slave_skip_counter =1;

start slave;

show slave status\G;

解锁表 unlock tables;

2.重做,实现完全同步。适用于要求数据完全统一的情况下:

1. 在主库上锁表

2.进行主库数据备份

3.查看master的状态

4.将备份文件拷贝到从库

######################

5.停止从库的状态

6.导入备份的数据库

7.设置主从同步

8.开启从同步

9.查看同步的状态

10.在master上解锁

不同版本做主从报错问题:

配置:

master1 mysql:5.6

master2 mysql: 5.5

在master1做slave,master2做主数据看时成功

在master1做master,master2做从数据库时报错

Got fatal error 1236 from master when reading data from binary log:

'Slave can not handle replication events with the checksum that master is configured to log;

the first event 'mysql-bin.000001' at 5115510, the last event read from './mysql-bin.000001' at 5115510,

the last byte read from './mysql-bin.000001' at 120.'

查询资料发现当mysql版本为5.6时:

这个错误一般出现在master5.6,slave在低版本的情况下。这是由于5.6使用了crc32做binlog的checksum;当一个event被写入binary log(二进制日志)的时候,checksum也同时写入binary log,然后event通过网络传输到从服务器(slave)之后,再在从服务器中对其进行验证并写入从服务器的relay log。

由于每一步都记录了event和checksum,所以看报错就知道是无法checksum。

解决: 在master1配置文件中设置binlog_checksum =none;重启,然后重新进行连接就好了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值