因为调整服务器子网, 数据库服务器的IP地址需要修改. 这个过程中, 需要确保的就是从库在断开主库后, 能从正确的位置再次启动. 具体的操作步骤如下
1) 需要获取的前提信息: 主库的新IP, 这在启动从库复制时需要使用
2) 停止从库, 获取状态, [[[停止主库, 修改主库IP, 重启主库服务]]], 修改master信息, 启动从库
mysql> STOP SLAVE;
Query OK, 0 rows affected (0.02 sec) mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 192.168.10.31
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: master-bin.
Read_Master_Log_Pos: 1070739125
Relay_Log_File: db02-relay-bin.000037
Relay_Log_Pos: 1070739340
Relay_Master_Log_File: master-bin.000014
Slave_IO_Running: No
Slave_SQL_Running: No
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table: mysql> CHANGE MASTER TO MASTER_HOST='192.168.11.31', MASTER_LOG_FILE='mysql-bin.000005', MASTER_LOG_POS=11622542; mysql> START SLAVE;
Query OK, 0 rows affected (0.00 sec) mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.10.31
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: master-bin.000014
Read_Master_Log_Pos: 1070739125
Relay_Log_File: db02-relay-bin.000038
Relay_Log_Pos: 321
Relay_Master_Log_File: master-bin.000014
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
如果还需要修改从库IP, 在上述操作结束后, 确认从库复制正常, 再进行如下操作:
1) 停止从库复制, 关闭从库服务器
2) 修改从库服务器IP
3) 在主库上给从库帐号授权(对应新的IP)
4) 启动从库服务器, 开始从库复制