mysql主从同步总结

需要注意的地方:

1、 主服务器(master)、从服务器(slave)的数据库版本不能夸大版本,可以小版本的差异。但是从服务器的mysql版本尽量不要低于mastermysql版本。负责需要在master中加入binlog-checksum = none(由于5.6使用了crc32binlogchecksum。除了把master的设置从crc32改到non)一般这样的错误代码:Slave can not handle replication events with the checksum that master is configured to log

2、 master需要开启一个远程访问的用户grant all on *.* to jack@192.168.88.99 identified by "123";  (all代表拥有所有权限,可自行设置,第一个*代表某个数据库,*则是所有数据。第二个*代表某个数据库下的某个表,*代表所有表 jack为用户名,可以自行取名,192.168.88.99访问ip ,如果想所有的ip都可以访问,则需要设置成’%’。123则是你的密码,密码不建议太长,也不建议太短,因为数据库会把长的密码自动截取,短的密码在主从同步中会有错误信息);

3、 masterconfig配置文件中需要制定server-id = 1; log-bin=mysql-bin;或者server_id=1; log_bin=mysql-bin;根据mysql版本而定。server-id = 1;数据库的唯一标示;log-bin=mysql-bin;开启服务器的日志文件,这个必须要。因为数据的同步都是根据日志文件。

4、 slaveconfig配置文件需要server-id=2;master-host=主服务器的IP;master-user=之前设置的账号;master-password=之前设置的密码;master-port=3306;

5、 slaveRead_Master_Log_Pos必须和当前master同步,假设masterpostion10000,则Read_Master_Log_Pos=10000Master_Log_File必须和当前的master日志文件同步

待研究问题:

1、 假设master当机了,现在启用slave进行数据的读写,那怎么样才能让主服务器更新这些数据。(目前想到的办法就是把从服务的日志文件导出,然后导入带主服务器,前提是master必须重新reset master以保证开启新的日志文件)。

2、 当slave意外有写入操作时,主从同步会不再进行。

一般的操作:

reset master  清空所有日志文件,默认到mysql-bin.000001

show master status  查看当前的日志文件信息

stop slave 停止主从同步

start slave 开始主从同步

change master to ……. 设置从服务器的配置信息

show slave status\G 查看从服务器的配置信息

flush privileges 刷新权限  当你设置了信息的用户,会修改了用户权限,必须刷新权限

flush logs  刷新日志文件,相当于生成新的日志文件

show master logs查看日志文件信息

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值