主备切换
在完成了先前的数据一致性校验并确保所有从库数据准确无误后,接下来将执行主备切换操作,以调整现有的主从复制部署结构,并在完成主备切换后进行新主库和新从库的一致性校验。
- 主备切换之前的结构包括一个主库和两个从库,其中主库和从库1是x86服务器,而从库2是鲲鹏服务器。
- 主备切换之后的最终目标是将鲲鹏服务器提升为主库,同时将原有的主库降级为x86架构的新从库。
主备切换部署规划变化如图1所示。
以下内容为主备切换的详细操作步骤,以下所有步骤执行完成后,新从库便能够成功连接到新的鲲鹏主库,并保持数据同步状态。
- 鲲鹏从库2升级为主库。
- 登录到即将成为新主库的鲲鹏服务器(原从库2)。
- 停止从库服务并删除所有从库配置信息,准备将其提升为主库。
1 2
stop slave; reset slave all;
- 确认新主库的“log_bin”的值为“ON”。
1
show variables like 'log_bin';
如果“log_bin”的值为“OFF”,则执行以下操作开启“log_bin”。- 打开配置文件“/etc/my.cnf”。
1
vim /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。
- 打开配置文件“/etc/my.cnf”。
- x86从库1连接到新主库。
- 登录x86服务器的从库1。
- 停止从库服务并删除所有从库配置信息。
1 2
stop slave; reset slave all;
- 配置从库1连接到新主库。
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地址,请根据实际情况修改。
- 启动并验证从库状态。
1 2
start slave; show slave status \G;
“Slave_IO_Running”和“Slave_SQL_Running”均为“Yes”,表示从库1已成功连接到新主库。
- 旧主库连接到新主库。
- 登录旧主库(当前已经是从库)。
- 停止从库服务并删除所有从库配置信息。
1 2
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地址,请根据实际情况修改。
- 启动并验证从库状态。
1 2
start slave; show slave status \G;
“Slave_IO_Running”和“Slave_SQL_Running”均为“Yes”,表示旧主库已成功连接到新主库。
- 再次进行主从一致性校验。
1
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地址,请根据实际情况修改。
父主题: 迁移最佳实践