mysql5.7主从同步

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

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

mysql5.7主从同步_第1张图片
    图1

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

mysql5.7主从同步_第2张图片
图2

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

mysql5.7主从同步_第3张图片
图3

3.重启主服务器,并授权用户
grant   replication    slave    on    *.*    to [email protected]    identified    by '123456';

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

图4
mysql5.7主从同步_第4张图片
图5-查看设置的权限

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

图6
mysql5.7主从同步_第5张图片
图7

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

mysql5.7主从同步_第6张图片
图8

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

mysql5.7主从同步_第7张图片
图9

总结:

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

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

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

图10

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

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

mysql5.7主从同步_第8张图片

你可能感兴趣的:(mysql5.7主从同步)