美文网首页程序员
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