乘风原创程序

  • MySQL主从同步常见报错的解决办法
  • 2020/8/4 4:10:05
  • 数据库主从同步的时候有两个线程:IO线程和SQL线程。常见的报错时围绕这两个线程出现的。

    IO线程:把主库binlog日志的内容记录到本机的中继日志文件里。
    IO线程报错的原因有两个,第一是指定主库信息时参数信息有误;第二时安全限制(包括firewall,selinux)。

    查看报错原因:
    mysql> show slave status\G
    ……
    Last_IO_error:报错提示
    ……
    常见错误提示:error connecting to master 'repluse@192.168.4.51:3306' - retry-time: 60 retries:1
    报错提示在从数据库服务器上指定主库信息参数时有误,通常是与主库授权时的用户或密码不一致造成的
    MySQL主从同步常见报错的解决办法
    另外,如果是指定主库信息时参数有误的话,可以查看数据库目录下的记录连接主库信息的文件master.info
    [root@mysql]# cat /var/lib/mysql/master.info
    MySQL主从同步常见报错的解决办法
    >这里的参数就是指定主库信息时设置的参数
    附指定主库信息时的命令及示例截图
    mysql> change master to
    -> master_host="ip地址",
    -> master_user="授权时指定的用户名",
    -> master_password="用户密码",
    -> master_log_file="binlog日志",
    -> master_log_pos=偏移量;

    MySQL主从同步常见报错的解决办法

    修复IO线程:
    mysql> stop slave;
    mysql> change master to 选项=值;
    mysql> start slave;


    SQL线程:执行本机中继日志文件里的SQL命令,把数据写进本机数据库里
    SQL线程出错原因:一般时执行中继日志文件里sql命令用到的库或表在本机不存在
    修复SQL线程:
    查看 本机和主数据库服务器中的库和表,使本机有主数据库服务器中的库或表。
    先停止slave服务,晚上库或表之后再启动slave服务
    mysql> stop slave;
    修改
    mysql> start slave;