服务器IP一般情况是不能随便更换的,如果一更换可能mysql主从就不成功了,下面我来介绍MySQL主从 复制下改变主服务器IP配置过程.
公司所有服务器终于放到同一个机房,开通了内网访问,这样,就必须更改某几台MySQL从服务器的配置,变成内网访问.
备份:首先是关闭MySQL服务器,slave端,以及备份配置信息,代码如下:
service mysqld stop
代码如下:
- #进入到mysql目录
- cd/var/lib/mysql
- #备份配置
- cpmaster.infomaster.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了,代码如下:
- STARTSLAVE;
- SHOWSLAVESTATUSG
- ***************************1.row***************************
- Slave_IO_State:Waitingformastertosendevent
- Master_Host:xx.xx.xx.xx--phpfensi.com
- 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: