MySQL Slave要確定是否正在運作,在執行【mysql>show slave status;】時,底下2個必須為Yes
Slave_IO_Running: Yes
Slave_SQL_Running:Yes
但是,如果Slave_SQL_Running為NO時,要怎麼解決呢?
Slave_SQL_Running:NO 的解決方式1:
直接跳過一行造成停止的SQL指令
mysql> stop slave;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> start slave;
Slave_SQL_Running:NO 的解決方式2:
直接指定Master記錄的File及Position到Slave
1. 先到slave主機停掉slave的運作。
mysql> stop slave;2. 查看Master主機的File和Position的值。
mysql> show master status;
+——————+———–+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———–+————–+——————+
| mysql-bin.000118 | 199777882 | | |
+——————+———–+————–+——————+
1 row in set (0.00 sec)3. 到slave主機手動設定。
mysql > change master to
> master_host=’master_ip’ ,
> master_user=’user’,
> master_password=’pwd’,
> master_port=3306,
> master_log_file=’mysql-bin.000118′,
> master_log_pos=199777882;4. 最後啟動slave運作。
mysql> start slave;
留言列表