服务器IP一般情况是不能随便更换的,如果一更换可能mysql主从就不成功了,下面我来介绍MySQL主从
复制下改变主服务器IP配置过程
公司所有服务器终于放到同一个机房,开通了内网访问。这样,就必须更改某几台MySQL从服务器的配置
,变成内网访问。
备份
首先是关闭MySQL服务器(slave端)以及备份配置信息
代码如下 |
|
#进入到mysql目录
cd /var/lib/mysql
#备份配置
cp master.info master.info.bak
#查看行数
wc -l < master.info
|
wc是为了确保修改后master.info的行数保持一样
修改
之后,修改master.info里的IP为新的主服务器的IP地址。
然后,不启动replication的情况下启动MySQL服务器
代码如下 |
|
service mysql start --skip-slave-start
|
验证
登录到MySQL并运行SHOW slave status G
如果看到的IP为新的地址,那么恭喜,修改成功,接着可以启动replication了
代码如下 |
|
START SLAVE;
SHOW SLAVE STATUSG
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: xx.xx.xx.xx
Master_User: slave_user
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: master-bin.xxxx
Read_Master_Log_Pos: xxxxxxxx
Relay_Log_File: slave-relay-bin.xxxx
Relay_Log_Pos: xxxxxxxx
Relay_Master_Log_File: master-bin.xxxx
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB: mysql,test,information_schema
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: xxxxxxxxx
Relay_Log_Space: xxxxxxxxx
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:
|