1. 查看配置文件是否正确:vim  /etc/my.cnf                                                                                    主机:log-bin=mysql-bin
            server-id=130(ip后三位)
    从机:log-bin=mysql-relay
            server-id=135(ip后三位)                                                                     

 

mysql主主复制  mysql主主复制存在的问题_配置文件

mysql主主复制  mysql主主复制存在的问题_mysql_02

 (如图所示)

  2.查看主机状态的二进制文件名与从机配置的二进制文件名是否一致,如果不一致则需要重新修改

  查看主机状态 show master status\G;
  配置从机:(配置之前要先停掉slave服务:stop slave;)
  change  master to master_host = ‘192.168.42.28’,   #主库的IP地址 
  master_user = ‘copy’,     #在主库上创建的复制账号
  master_password = ‘Nebula@123’, #在主库上创建的复制账号密码
  master_log_file = ‘mysql-bin.000001’, #开始复制的二进制文件名(从主库查询结果中获取)
  master_log_pos = 817; #开始复制的二进制文件位置(从主库查询结果中获取)

  3.查看网络是否连接:主机和从机之间相互是否能ping通:telnet 192.168.204.135 3306

    查看主机端口知否开通netstat -antlup | grep 3306

  4.查看两台机器的防火墙是否关闭:systemctl status firewalld(查看防火墙状态)

    如果防火墙处于开启 状态,那么就把防火墙关闭systemctl status firewalld(关闭防火墙)

mysql主主复制  mysql主主复制存在的问题_linux_03

 (如图所示防火墙的状态为关闭,想要永久实现开机防火墙自动关闭则需要输入:

   systemctl enable firewalld)

  5.查看selinux防火墙是否关闭,setenforce 0(关闭selinux防火墙)

  6.查看主机和从机的时间date是否同步

  7.停掉slave服务:stop slave;  跳过错误步数,后面步数可变 set global sql_slave_skip_counter=1;
     再启动slave :start slave; 后继续查看同步状态

  8.如果以上步骤均不存在问题,那么我们就要查看mysql日志 cat /var/log/mysqld.log  从日志文件         的最后面查看报错原因.

      常见报错(2003):可能是mysql数据库没有启动,也可能是数据库资源紧张,导致无法连接.

      常见报错(1129):可能是同一ip在短时间内产生太多(超过mysql数据库max_connection_errors                                  的最大值)终端的数据库连接而导致的阻塞;我们可以在查看一下:show                                          global variables like'%max_connect_errors%';

mysql主主复制  mysql主主复制存在的问题_配置文件_04

 我们可以将其修改的大一些:set global max_connect_errors=1000;

mysql主主复制  mysql主主复制存在的问题_linux_05

         修改之后主从复制同步即为正常.

  常见报错(3117):你的报错信息从你配置文件里查找日志位置,查看server_id和UUID:主机和从机都                              查看一下show variables like 'server_id'; 发现server_id一致导致IO进程不开启。

                            第一步:我们要先停掉slave服务:stop slave;

                            第二步:我们要修改server_id:set global server_id=238475;

                            第三步:我们要启动slave:start slave;

    完成之后即可查看slave状态.

    以上均为mysql主从复制的常见问题以及解决方案,希望对大家的学习有所帮助.