美文网首页程序员
MySQL 主从及双YES不同步问题解决

MySQL 主从及双YES不同步问题解决

作者: pdsor | 来源:发表于2019-03-27 14:37 被阅读0次

    环境

    • ubuntu 18.04
    • mysql 5.7
    • xtrabackup 2.4
    主设置
    vi /etc/mysql/mysql.conf.d/mysqld.cnf
    
    server-id = 1
    log-bin = /var/log/mysql/mysql-bin
    
    sudo systemctl restart mysql
    
    
    配置远程用户
    CREATE USER 'repl'@'10.0.0.0' IDENTIFIED BY '密码';
    GRANT REPLICATION SLAVE ON *.* TO 'repl'@'10.0.0.0';
    FLUSH PRIVILEGES;
    
    安装xtrabackup
    备份

    创建备份


    从恢复
    查看位置

    cat /data/backup/xtrabackup_binlog_info

    Mysql 从配置
    CHANGE MASTER TO
    MASTER_HOST='master.mysql',
    MASTER_USER='repl',
    MASTER_PASSWORD='',
    MASTER_PORT=3306,
    MASTER_LOG_FILE='mysql-bin.000031',
    MASTER_LOG_POS=7823661;
    
    --启动
    START SLAVE;
    
    主错误 Failed on my_net_write()
    #主日志
    2019-03-26T06:33:32.069396Z 1113339 [Note] Start binlog_dump to master_thread_id(1113339) slave_server(2), pos(mysql-bin.000031, 7823661)
    2019-03-26T06:34:32.125213Z 1113339 [Note] Aborted connection 1113339 to db: 'unconnected' user: 'repl' host: '10.0.0.0' (Failed on my_net_write())
    

    错误阶段为主创建Dump binlog 线程后无法对从发送数据,造成的通讯错误

    在排除从上没有开启防火墙,并且没有其他错误日志,主从可以互相登录,则有可能是下面的原因

    服务器的网络接入层有限制,比如交换机,造成数据包拆分导致通讯错误

    解决办法
    #slave 服务器
    ifconfig #查看mtu值
    
    ifconfig ens192(网卡名称) mtu 1400(值) #减小MTU值
    
    过程中用到的命令
    -- 一般不需要变更配置
    show global variables like "%timeout%";
    
    set global net_write_timeout=60;
    set global slave_net_timeout=60;
    
    --查看主从状态
    show master status;
    show slave status;
    --清除从信息
    reset slave all;
    --查看主进程
    show processlist;
    --杀某个进程
    kill id;
    

    参考

    安装xtrabackup

    主从复制配置

    一些数据库配置信息

    其他的

    相关文章

      网友评论

        本文标题:MySQL 主从及双YES不同步问题解决

        本文链接:https://www.haomeiwen.com/subject/ecyzvqtx.html