MySQL のレプリケーション状態が Slave_IO_Running: Connecting になっているときの対処
MySQL や mariadb でレプリケーションの Slave の状態を確認するときは
1 |
mysql> show slave status\G |
のようにして、Slave_IO_Running の値を確認します。このとき
1 2 3 4 |
mysql> show slave status\G …… Slave_IO_Running: Yes Slave_SQL_Running: Yes |
のようになっていれば正常です。一方で
1 2 3 4 |
mysql> show slave status\G …… Slave_IO_Running: Connecting Slave_SQL_Running: Yes |
のように、Slave_IO_Running が Connecting であればレプリケーションができていません。
Master 側へのアクセス権がないときにこのような状態になります。
これを修正するには Master 側で grant
構文を使い
1 2 |
mysql> grant replication slave on *.* to repl@'198.51.100.2' identified by '*********'; Query OK, 0 rows affected (0.00 sec) |
のように権限を付けます。逆に、権限を削除したい場合は revoke
構文を使います。
1 2 |
mysql> revoke replication slave on *.* from repl@'198.51.100.3'; Query OK, 0 rows affected (0.00 sec) |