mysql主从环境,切换IP操作

环境:

redhat7.5 

mysql5.7

老IP :192.168.1.1, 192.168.1.2

新IP :192.168.3.3, 192.168.3.4

 

--备库停机

mysql> stop slave;

systemctl stop mysqld

--主库停机

systemctl stop mysqld

--修改主库备库服务器IP

--起主库

systemctl start mysqld

--主库增加新同步用户授权到新IP
grant replication slave on *.* to 'repl'@'192.168.3.4' identified by 'xxx';

--删除老的同步用户

delete from mysql.user where user='repl' and host='192.168.1.2';

flush privileges;

show grants for 'repl'@'192.168.3.4';

--查看主库当前的偏移量(如果使用gtid可以不用记录)
show master status \G
        
        
        
--起从库

systemctl start mysqld

stop slave;

change master to master_host='192.168.3.3', master_user='repl',master_password='xxx',master_port=3306,master_auto_position=1;

start slave;

grant replication slave on *.* to 'repl'@'192.168.3.3' identified by 'xxx';

flush privileges;

--删除老的同步用户

delete from mysql.user where user='repl' and host='192.168.1.1';

 

--确认同步状态

show slave status\G

### 手动进行MySQL主从切换 #### 准备工作 在执行任何操作之前,确保已经备份了所有的数据。这一步骤至关重要,因为即使是最小心的操作也可能意外导致数据丢失。 #### 停止写入活动 为了安全地完成主服务器到新主服务器的转换,在开始前应停止向当前主数据库发送新的写请求。可以通过设置只读模式来实现这一点: ```sql SET GLOBAL read_only = ON; ``` 此命令会阻止除具有`SUPER`权限以外的所有账户对表进行修改[^1]。 #### 同步从库状态 确认所有从节点都已经完全同步到了最新的位置。可以使用如下查询检查各个从机的状态: ```sql SHOW SLAVE STATUS\G ``` 特别关注 `Seconds_Behind_Master` 字段,当这个值接近于零时说明该从节点几乎实时跟上了主机的变化[^2]。 #### 切断旧主服务连接 一旦确定所有必要的更新都已经被应用完毕,则可以在原主上执行以下语句以防止进一步的数据变更传播给其他副本: ```sql STOP SLAVE IO_THREAD; FLUSH TABLES WITH READ LOCK; ``` 这两条指令分别用于暂停复制线程以及锁定表格结构以防更改,从而保障一致性[^4]。 #### 提升指定从作为新主 选择一个合适的候选者成为新的主,并在其上面运行下面这段脚本将其身份转变为master: ```sql RESET MASTER; CHANGE REPLICATION SOURCE TO SOURCE_HOST='', SOURCE_USER='replication_user', SOURCE_PASSWORD='password'; START REPLICA; UNLOCK TABLES; ``` 注意替换掉占位符部分的实际参数值(如IP地址、用户名密码等),并且解除先前施加过的锁机制以便恢复正常运作。 #### 更新其余从配置指向新主 对于剩下的每一个slave实例来说都需要重复上述过程中的最后几步——即重置自身的binlog日志文件并重新定义其上游source为刚刚晋升成功的那台机器;之后启动各自的I/O线程继续追赶进度即可[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值