まったく同じ特性を持つ2つの異なるサーバーにマスター/スレーブの複製をセットアップしました。MySQLのバージョンは5.5で、スレーブはVPN接続を介してマスターに接続します。
レプリカティノが機能していることを確認しました。マスターで新しいデータベースを作成すると、データベースがスレーブに存在することがわかります。問題は、いくつかの障害シナリオを実行してVPNをシャットダウンしたときに、マスターのレプリコチンステータスにエラーが表示されなかったことです。
mysql> show slave status;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.0.0.2
Master_User: replication
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 52360
Relay_Log_File: mysql-relay-log.000004
Relay_Log_Pos: 441
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 52360
Relay_Log_Space: 597
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 1
"""
Slave_IO_RunningとSlave_SQL_RunningがYesであるかどうかを知る限り、これはレプリケーションが機能していることを示していますが、サーバー間にネットワーク接続がないため、これは不可能です。
スレーブでmysqlを再起動すると、接続エラーが表示され、レプリケーションステータスが正確になります。スレーブでmysqlを再起動せずにVPNを再度有効にすると、新しいデータを作成してもレプリケーションは通常どおり機能するようです。ベース。
誰か助けてもらえますか?