配置有mysql的主从,当主库挂了以后,DBA 怎么切换到从库。
切换到从库的步骤如下:
-
首先需要确认主库已经宕机,可以通过检查主库的进程状态或者连接状态来确认。
-
然后需要在从库上执行以下命令,以停止从库的复制进程:
STOP SLAVE;
-
确认从库的复制进程已经停止,可以通过执行以下命令来查看:
SHOW SLAVE STATUS\G
如果输出结果中的
Slave_IO_Running
和Slave_SQL_Running
都为No
,则表示从库的复制进程已经停止。 -
然后需要将从库设置为主库,可以通过执行以下命令来完成:
RESET MASTER;
这个命令会清除从库的所有二进制日志和复制信息,将从库变成一个新的主库。
-
然后需要在从库上创建一个新的复制账号,并授权给应用程序使用。可以使用以下命令来创建复制账号:
CREATE USER 'replication'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%';
这个命令会创建一个名为
replication
的用户,并授予复制权限。 -
然后需要在从库上查找新的主库的位置,可以通过执行以下命令来查找:
SHOW MASTER STATUS;
这个命令会输出新的主库的二进制日志文件名和位置。
-
最后需要在应用程序的配置文件中更新数据库连接信息,将主库的地址和端口改为新的从库地址和端口,同时使用新的复制账号进行连接。
完成以上步骤后,应用程序就可以继续使用从库进行读写操作,而从库也会开始复制新的主库的数据。