MySQL主从介绍:

    MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的

    MySQL主从是基于binlog的,主上须开启binlog才能进行主从。

主从过程大致有3个步骤

 1)主将更改操作记录到binlog里

 2)从将主的binlog事件(sql语句)同步到从本机上并记录在relaylog里

 3)从根据relaylog里面的sql语句按顺序执行

      主上有一个log dump线程,用来和从的I/O线程传递binlog

      从上有两个线程,其中I/O线程用来同步主的binlog并生成relaylog,另外一个SQL线程用来把relaylog里面的sql语句执行

如图:

    image.png

准备工作:

    准备两台机器,两台机器都需要安装好mysql,并且启动mysql服务。安装mysql请查看博主前面的文章!

配置主:

    ①修改配置文件/etc/my.cnf,增加server-id=129和log_bin=centos7-1;修改完成后,重启mysql服务。

    image.png

    ②创建一个测试的zrlog库,把测试库备份出来,在从上需要导入。

    image.png

    ③创建用作同步数据的用户

    image.png

    ④对做主从配置的数据库进行上锁,目的是配置期间停止读写操作。

    image.png

    ⑤查看主的状态,配置同步时修改使用到这里的File和Position数据。

    image.png

    主上配置完成了,接上来去从上配置。

配置从:

    ①修改配置文件/etc/my.cnf,增加server-id=128(不能和主一样);修改完成后,重启mysql服务。

    image.png

    ②把主上的测试库zrlog,主上使用rsync同步到从上。然后从上进行导入

    image.png

    image.png

    ③然后进入mysql进行配置

    image.png

    ④查看是否配置成功,查看下面的参数。

    image.pngimage.png

    配置成功后,别忘记到主上进行解锁操作:unlock tables;

测试主从同步:

    ①在主上的mysql修改数据,然后去从上查看是否同步即可。

    image.png

    从上查看:

    image.png

配置失败情况:

  1. Slave_IO_Running:connecting

    排错步骤:①网络问题,使用ping命令和telnet命令测试;如ping ip看看能不能ping通,telnet ip 3306 看看3306端口是否开启    ②密码对不对    ③file和pos有没有对应(在主上show master status;)    ④还要注意防火墙是否关闭了和iptables规则等等。

  2. mysql -urepl -p123456 -h192.168.139.129  远程连接失败,查看mysql日志:

    image.png

    修改配置文件/etc/my.cn,在[mysqld]下加入skip-name-resolve。  然后重启服务即可!