美文网首页
mysql5.7主从同步

mysql5.7主从同步

作者: 大步向前blue | 来源:发表于2017-12-15 10:58 被阅读6次

mysql主从同步,其实很简单。三个要素,1,server_id 不能相同,2,主服务器二进制日志要开起来,3,从服务器要设置主服务器的的参数。

1.查看主服务器的server_id 和server_uuid

    图1

注意:如果是通过虚拟机克隆的,那么就需要更改server_uuid,两台服务器的server_uuid是不能相同的,我的是通过yum安装的mysql5.7.2更改server_uuid的地方在 /var/lib/mysql/auto.cnf中。

图2

2.设置主服务器的配置
server_id=1   
log-bin=master-bin  #不能写目录,例如: /var/lib/masterlog/
binlog_do_db=demo #指定同步的数据
binlog_ignore_db=mysql #指定不同步的数据

图3

3.重启主服务器,并授权用户
grant   replication    slave    on    *.*    to slave_user@192.168.174.122    identified    by '123456';

另外,记得刷新权限    flush    privileges;

图4 图5-查看设置的权限

4.查看服务器server_uuid   和   server_id   一定要与主服务器的不同【此处采用文件查看方式,和步骤1作用相同】

图6 图7

5.从服务器连接主服务器的配置

图8

6.查看从服务器的启动结果 ,成功:  Slave_IO_Running  和  Slave_SQL_Running  都是yes

图9

总结:

在做主从同步的时候总是报错,错误提示如下:

Slave SQL for channel '': , Error_code: 1872   ,#这种错误就是因为我是克隆的虚拟机所以server_uuid都是相同的,导致无法msyql无法识别主机了。

根据错误代码查看错误信息,可以使用linux中的  perror    这个工具,它可以列举出mysql和系统的错误代码信息。

图10

如果错误代码是2003 用perror是找不出错误信息的,这个错误往往就是server_id  或者   server_uuid相同导致的。

防火墙: 再啰嗦一点,如果以上还不能成功,请查看是不是从不服务器被主服务器的防火墙给屏蔽掉了。查看方法,直接在从服务器上连接主服务器的mysql。下图表示没有被墙。

相关文章

网友评论

      本文标题:mysql5.7主从同步

      本文链接:https://www.haomeiwen.com/subject/qfprwxtx.html