配置数据库主从复制时Slave_IO_Running为No的问题与解决

在配置数据库主从复制过程中遇到Slave_IO_Running显示No的故障,通过检查和对比auto.cnf文件中的server-uuid,发现其相同。解决方法是停止从库mysqld服务,删除auto.cnf,重启服务,让从库生成新的server-uuid,从而成功解决该问题。

配置数据库主从复制

步骤

- 主服务器的配置
1. 在第一个服务器上,编辑mysql配置文件
	// 编辑mysql配置文件
	vi /etc/my.cnf
	  
	// 在[mysqld]下面加上:
	// log-bin代表开启主从复制,server-id代表主从服务器的唯一标识
	log-bin=mysql-bin
	server-id=1
	innodb_flush_log_at_trx_commit=1
	sync_binlog=1

2. 查看主服务器的配置
	  // 重启mysql
	  service mysqld restart
	  
	  // 登录mysql
	  mysql -u root -p

	  // 查看主服务的配置
	  show master status;
	  需要记住 File 列和 Position 列的数据,将来配置从服务器需要使用
  

  
  

  
- 从服务器的配置
1. 在第二个服务器上,编辑mysql配置文件
	  // 编辑mysql配置文件
	  vi /etc/my.cnf
	  
	  // 在[mysqld]下面加上:
	  server-id=2

2. 登录mysql
	  // 登录mysql
	  mysql -u root -p
	  
	  // 执行
	  use mysql;
	  drop table slave_master_info;
	  drop table slave_relay_log_info;
	  drop table slave_worker_info;
	  drop table innodb_index_stats;
	  drop table innodb_table_stats;
	  source /usr/share/mysql/mysql_system_tables.sql;

3. 重启mysql,重新登录,配置从节点
	  // 重启mysql
	  service mysqld restart
	  
	  // 重新登录mysql
	  mysql -u root -p
	  
	  // 执行,注意 master_host、master_port、master_password、master_log_file、master_log_pos要根据自己的数据库来配置
	  change master to master_host='192.168.242.110',master_port=3306,master_user='root',master_password='root',master_log_file='mysql-bin.000002',master_log_pos=120

	  // 开启从节点
	  start slave;
	  
	  // 查询结果
	  show slave status\G
	  //Slave_IO_Running和Slave_SQL_Running都为YES才表示同步成功。

4. 测试
	在主服务器上创建一个db1数据库,查看从服务器上是否自动同步


注意: 当出现Slave_IO_Running:No问题时, 可能是mysql的UUID重复了, 造成这种情况一般是克隆服务器造成的
	解决办法
	https://blog.youkuaiyun.com/mingknow/article/details/98061196

Slave_IO_Running:No问题解决方法

  1. 检查发现他们的auto.cnf中的server-uuid是否相同

    [root@localhost ~]# vim /var/lib/mysql/auto.cnf
    
    [auto]
    server-uuid=4f37a731-9b79-11e8-8013-000c29f0700f
    
  2. 停止从库的mysqld服务,删除他的auto.cnf文件,再启动数据库服务即可

    [root@localhost mysql]# systemctl stop mysqld.service
    
    [root@localhost mysql]# mv /var/lib/mysql/auto.cnf /var/lib/mysql/auto.cnf.bak
    
    [root@localhost mysql]# systemctl start mysqld.service
    
  3. 此时再去查看从库auto.cnf,已自动生成新的server-uuid:

    [root@localhost mysql]# vim /var/lib/mysql/auto.cnf
    
    [auto]
    server-uuid=2682888d-994a-11e8-aaf0-000c298cdafc
    
  4. 然后问题解决 _
    在这里插入图片描述

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值