上章讲了mysql已经把数据搬迁完成,但目前看起来理论上数据是一致的,故先把主从做上把。目的先实现吧 环境(此处ip,密码均是乱造的): 主:192.1.31.161 端口:3306 用户:vnum 密码:vnum@123
从:192.1.31.162 端口:3306 1.防火墙放出3306

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload		#重启firewall
firewall-cmd --list-ports	#查看已经开放的端口

2.主 配置: ``` #vim /etc/my.cnf [mysqld] log-bin = mylog //master必写 server-id = 1 //master必写 创建账户://主服务器上创建账户 mysql> grant replication slave,reload,super on . to 'slave'@'%' identified by '123'; mysql> flush privileges;

        %在工作环境当中换成slave的主机名称或者IP地址   密码采用复杂密码   
重启服务:
      #/etc/init.d/mysqld  restart   //rhel6
      #systemctl restart mysqld   //rhel7

注意:如果不成功删除以前的binlog日志
replication slave:
    拥有此权限可以查看从服务器,从主服务器读取二进制日志。
super权限:
    允许用户使用修改全局变量的SET语句以及CHANGE  MASTER语句
reload权限:
    必须拥有reload权限,才可以执行flush  [tables | logs | privileges]

3.从 安装软件 配置: #vim /etc/my.cnf [mysqld] server-id = 2 log-bin=s1log //1.双主的时候必须写 2.gtid方式的ab复制必须写

启动服务:
       #/etc/init.d/mysqld  start   /rhel5/6
       #systemctl restart mysqld   //rhel7

指定主服务器信息:
     先去主服务器查看日志信息:
    mysql >  show master status \G
     
     从服务器上指定: 
    mysql>  CHANGE MASTER TO
                      MASTER_HOST='10.1.31.161',    //主服务器IP
                      MASTER_USER='vnum',          //主服务器用户
                      MASTER_PASSWORD='vnum@123',   //用户密码
                      MASTER_PORT=3306,                   //端口
                      MASTER_LOG_FILE='mylog.001',    //binlog日志文件名称
                      MASTER_LOG_POS=154,                          //日志位置
                      MASTER_CONNECT_RETRY=10;          //如果同步失败的尝试次数

启动slave服务:
      mysql > start slave;      //关闭:stop slave
      mysql > show slave status;

测试: 登录slave mysql> show slave status \G

    如果没成功:删除从的binlog重启服务

错误分析: Slave_IO_Running: Connecting 1.网络不通 2.账户密码错误 3.防火墙 4.mysql配置文件问题 5.连接服务器时语法 6.主服务器mysql权限

Slave_IO_Running: No 1.网络不通 2.mysql配置文件问题 3.mysql权限