报错信息:Slave_IO_Running:No
查看报错信息:
在mysql下输出命令
mysql->show slave status\G;
Last_IO_Error:报错信息.....
造成从服务器死亡的原因推测:
1.在从服务器上进行写操作,导致数据库记录与主服务器不一致,从服务器上的SQL线程会自动关闭
2.手动关闭了SQL线程,kill或stop线程等操作
Slave_IO_Running:连接到主库,并读取主库的日志到本地,生成本地日志文件
Slave_SQL_Running:读取本地日志文件,并执行日志里的SQL命令。
解决方法1:重写从服务器上的主从配置信息
①首先关闭从服务器的slave进程 stop slave
②在主服务器上查看状态信息 show master status\G;
mysql> show master status;
+-------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+-------------+----------+--------------+------------------+-------------------+
| db51.000007 | 944 | | | |
+-------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
③在从服务器上配置:
mysql > change master to
master_host="192.168.4.51",
master_user="repuluser",
master_password="123456",
master_log_file="db51.000007",
master_log_pos=944;
④查看到IO和SQL线程启动即可
show slave status\G;
解决方法2:跳过同步机制
不是很推荐有这个做法,如果你做了数据库读写分离,那么在从服务器上读取到的数据可能与其他从服务器或者主服务器不一致
mysql>slave stop;
mysql>set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql>slave start;
不要在从服务器上做写操作,如果你配置了主从同步的话