mysql 从库升级为主库的步骤方案,主库异常,从库手动切换为主库方案 。

登录从服务器,确认从服务器已经完成所有同步操作

mysql> stop slave io_thread
mysql> show processlist
直到看到状态都为:Slave has read all relay log 表示更新都执行完毕

停止从服务器slave服务:

mysql> stop slave

将从服务器切换为主服务器

mysql> reset master

完成切换

授权内网其他机器有写入等权限(如果没有权限的话) 

mysql> SELECT Host,User FROM mysql.user;
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.%' IDENTIFIED BY '123456'  WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

修改其他机器 hosts 或应用内连接

# vi /etc/hosts
192.168.1.100 db-001

高版本的 MySQL 有些不同。

1、进入主库,设置只读。

SET GLOBAL read_only=1;

进入从库,等同步完成后,暂停同步,并设置读写。

stop slave;
SET GLOBAL read_only=0;
reset slave all;

-- RESET SLAVE ALL 是清除从库的同步复制信息、包括连接信息和二进制文件名、位置-- 从库上执行这个命令后,使用 show slave status 将不会有输出。

修改配置文件连接到新的主库上。

08-13 14:47