天天看点

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

配置数据库主从复制

步骤

- 主服务器的配置
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.csdn.net/mingknow/article/details/98061196
           

Slave_IO_Running:No问题解决方法

  1. 检查发现他们的auto.cnf中的server-uuid是否相同
    [[email protected] ~]# vim /var/lib/mysql/auto.cnf
    
    [auto]
    server-uuid=4f37a731-9b79-11e8-8013-000c29f0700f
               
  2. 停止从库的mysqld服务,删除他的auto.cnf文件,再启动数据库服务即可
    [[email protected] mysql]# systemctl stop mysqld.service
    
    [[email protected] mysql]# mv /var/lib/mysql/auto.cnf /var/lib/mysql/auto.cnf.bak
    
    [[email protected] mysql]# systemctl start mysqld.service
               
  3. 此时再去查看从库auto.cnf,已自动生成新的server-uuid:
    [[email protected] mysql]# vim /var/lib/mysql/auto.cnf
    
    [auto]
    server-uuid=2682888d-994a-11e8-aaf0-000c298cdafc
               
  4. 然后问题解决 _
    配置数据库主从复制时Slave_IO_Running为No的问题与解决配置数据库主从复制