在完成了先前的数据一致性校验并确保所有从库数据准确无误后,接下来将执行主备切换操作,以调整现有的主从复制部署结构,并在完成主备切换后进行新主库和新从库的一致性校验。
- 主备切换之前的结构包括一个主库和两个从库,其中主库和从库1是x86服务器,而从库2是鲲鹏服务器。
- 主备切换之后的最终目标是将鲲鹏服务器提升为主库,同时将原有的主库降级为x86架构的新从库。
主备切换部署规划变化如图1所示。
图1 主备切换架构变化示意图
以下内容为主备切换的详细操作步骤,以下所有步骤执行完成后,新从库便能够成功连接到新的鲲鹏主库,并保持数据同步状态。
- 鲲鹏从库2升级为主库。
- 登录到即将成为新主库的鲲鹏服务器(原从库2)。
- 停止从库服务并删除所有从库配置信息,准备将其提升为主库。
|
stop slave;
reset slave all;
|
- 确认新主库的“log_bin”的值为“ON”。
|
show variables like 'log_bin';
|
如果
“log_bin”的值为
“OFF”,则执行以下操作开启
“log_bin”。
- 打开配置文件“/etc/my.cnf”。
- 按“i”进入编辑模式,在配置文件中找到[mysqld]部分(如果不存在,请自行添加)。在该部分下,确保添加或修改以下内容。
log-error=/data/mysql/log/mysql.log
pid-file=/data/mysql/run/mysqld.pid
[mysqldump]
quick
[mysql]
no-auto-rehash
[client]
default-character-set=utf8
[mysqld]
basedir=/usr/local/mysql
socket=/data/mysql/run/mysql.sock
tmpdir=/data/mysql/tmp
datadir=/data/mysql/data
default_authentication_plugin=caching_sha2_password
port=3306
user=mysql
server-id=3 #新主库服务器的server-id为3
log-bin=/data/mysql/data/mysql-bin
relay_log=/data/mysql/relaylog/relay-bin
report_host=192.168.0.3 #192.168.0.3为新主库服务器的IP地址,请根据实际情况修改
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 重启MySQL服务使配置生效。重启MySQL服务的命令请参见3。
- x86从库1连接到新主库。
- 登录x86服务器的从库1。
- 停止从库服务并删除所有从库配置信息。
|
stop slave;
reset slave all;
|
- 配置从库1连接到新主库。
|
change master to master_host='192.168.0.3',master_port=3306,master_user='replicate',master_password='123456',master_auto_position=1, get_master_public_key=1;
|
192.168.0.3为新主库服务器的IP地址,请根据实际情况修改。
- 启动并验证从库状态。
|
start slave;
show slave status \G;
|
“Slave_IO_Running”和“Slave_SQL_Running”均为“Yes”,表示从库1已成功连接到新主库。

- 旧主库连接到新主库。
- 登录旧主库(当前已经是从库)。
- 停止从库服务并删除所有从库配置信息。
|
stop slave;
reset slave all;
|
- 配置旧主库连接新主库。
|
change master to master_host='192.168.0.3',master_port=3306,master_user='replicate',master_password='123456',master_auto_position=1, get_master_public_key=1;
|
192.168.0.3为新主库服务器的IP地址,请根据实际情况修改。
- 启动并验证从库状态。
|
start slave;
show slave status \G;
|
“Slave_IO_Running”和“Slave_SQL_Running”均为“Yes”,表示旧主库已成功连接到新主库。

- 再次进行主从一致性校验。
|
pt-table-checksum h=192.168.0.3,u=checksums,p=123456,P=3306 --databases=tpcc --no-check-binlog-format --replicate=pt.checksums --max-lag=3 --recursion-method=hosts
|
192.168.0.3为新主库服务器的IP地址,请根据实际情况修改。