点击上方“IT那活儿”公众号,关注后了解更多内容,不管IT什么活儿,干就完了!!!


为保障支撑系统的安全、稳定运行,根据公司安全漏洞扫描检查,检查结果中存在安全漏洞,在与安全组协商讨论后,决定首先对数据中心数据库服务器进行安全加固,加固方式为补丁升级。
配置信息
2. 数据库版本信息
数据库旧版本:8.0.19 数据库新版本:8.0.27
升级实施流程
192.168.48.130 mgrmaster 192.168.48.131 mgrslave1 192.168.48.132 mgrslave2
mysql> select * from replication_group_members;
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+
| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION |
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+
| group_replication_applier | 30c16455-f052-11ec-9838-000c29c0b10f | mgrslave1 | 3307 | ONLINE | SECONDARY | 8.0.19 |
| group_replication_applier | 3ae38ddb-f055-11ec-a2b5-000c292f5d0e | mgrslave2 | 3307 | ONLINE | SECONDARY | 8.0.19 |
| group_replication_applier | bf71ff91-f094-11ec-bf83-000c2997f11b | mgrmaster | 3307 | ONLINE | PRIMARY | 8.0.19 |
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+复制
1. 数据库备份
2. 上传新版本二进制文件至三台服务器

3. 按顺序升级,slave1->slave2->primary
3.1 Slave1
mysql> set global innodb_fast_shutdown = 0;
Query OK, 0 rows affected (0.00 sec)
mysql> select @@innodb_fast_shutdown;
+------------------------+
| @@innodb_fast_shutdown |
+------------------------+
| 0 |
+------------------------+
1 row in set (0.00 sec)
mysql> shutdown;
Query OK, 0 rows affected (0.04 sec)复制
[root@mgrslave1 my3307]# tar -xf mysql-8.0.27-linux-glibc2.12-x86_64.tar
[root@mgrslave1 my3307]# unlink mysql
[root@mgrslave1 my3307]# ln -s mysql-8.0.27-linux-glibc2.12-x86_64 mysql复制
[root@mgrslave1 my3307]# ./mysql/bin/mysqld_safe --defaults-file=/home/my3307/my.cnf &
#建议主库启动服务时添加--read_only参数 ,防止有连接操作
[root@mgrslave1 my3307]# mysql -uroot -p -S home/my3307/run/mysql.sock
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.27 MySQL Community Server - GPL
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> START GROUP_REPLICATION;
Query OK, 0 rows affected (13.35 sec)
mysql> SELECT * FROM performance_schema.replication_group_members;
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+----------------------------+
| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK |
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+----------------------------+
| group_replication_applier | 30c16455-f052-11ec-9838-000c29c0b10f | mgrslave1 | 3307 | ONLINE | SECONDARY | 8.0.27 | XCom |
| group_replication_applier | 3ae38ddb-f055-11ec-a2b5-000c292f5d0e | mgrslave2 | 3307 | ONLINE | SECONDARY | 8.0.19 | XCom |
| group_replication_applier | bf71ff91-f094-11ec-bf83-000c2997f11b | mgrmaster | 3307 | ONLINE | PRIMARY | 8.0.19 | XCom |
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+---------复制
3.2 Slave2与primary同理
mysql> START GROUP_REPLICATION;
Query OK, 0 rows affected (5.56 sec)
mysql> SELECT * FROM performance_schema.replication_group_members;
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+----------------------------+
| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK |
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+----------------------------+
| group_replication_applier | 30c16455-f052-11ec-9838-000c29c0b10f | mgrslave1 | 3307 | ONLINE | SECONDARY | 8.0.27 | XCom |
| group_replication_applier | 3ae38ddb-f055-11ec-a2b5-000c292f5d0e | mgrslave2 | 3307 | ONLINE | SECONDARY | 8.0.27 | XCom |
| group_replication_applier | bf71ff91-f094-11ec-bf83-000c2997f11b | mgrmaster | 3307 | ONLINE | PRIMARY | 8.0.19 | XCom |
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+----------------------------+
3 rows in set (0.01 sec)复制
mysql> START GROUP_REPLICATION;
Query OK, 0 rows affected (9.84 sec)
mysql> SELECT * FROM performance_schema.replication_group_members;
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+----------------------------+
| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK |
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+----------------------------+
| group_replication_applier | 30c16455-f052-11ec-9838-000c29c0b10f | mgrslave1 | 3307 | ONLINE | PRIMARY | 8.0.27 | XCom |
| group_replication_applier | 3ae38ddb-f055-11ec-a2b5-000c292f5d0e | mgrslave2 | 3307 | ONLINE | SECONDARY | 8.0.27 | XCom |
| group_replication_applier | bf71ff91-f094-11ec-bf83-000c2997f11b | mgrmaster | 3307 | ONLINE | SECONDARY | 8.0.27 | XCom |
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+----------------------------+复制
3.3 重新切换primary至192.168.48.130
mysql> select group_replication_set_as_primary('bf71ff91-f094-11ec-bf83-000c2997f11b');
+--------------------------------------------------------------------------+
| group_replication_set_as_primary('bf71ff91-f094-11ec-bf83-000c2997f11b') |
+--------------------------------------------------------------------------+
| Primary server switched to: bf71ff91-f094-11ec-bf83-000c2997f11b |
+--------------------------------------------------------------------------+
1 row in set (0.00 sec)复制
mysql> SELECT * FROM performance_schema.replication_group_members;
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+----------------------------+
| CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK |
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+----------------------------+
| group_replication_applier | 30c16455-f052-11ec-9838-000c29c0b10f | mgrslave1 | 3307 | ONLINE | SECONDARY | 8.0.27 | XCom |
| group_replication_applier | 3ae38ddb-f055-11ec-a2b5-000c292f5d0e | mgrslave2 | 3307 | ONLINE | SECONDARY | 8.0.27 | XCom |
| group_replication_applier | bf71ff91-f094-11ec-bf83-000c2997f11b | mgrmaster | 3307 | ONLINE | PRIMARY | 8.0.27 | XCom |
+---------------------------+--------------------------------------+-------------+-------------+--------------+-------------+----------------+----------------------------+
3 rows in set (0.00 sec)复制
回退方案
若在升级过程中,遇到报错。首先检查error日志对错误进行排查。如果问题无法解决,则进行版本回退。
清理redo log文件:
#rm -f /home/my3306/data/ ib_logfile{0,1,2,3}
复制
清理link,启动旧版本:
#unlink mysql
# ln –s /opt/mysql-8.0.19-linux-glibc2.12-x86_64 mysql
#mysqld_safe --defaults-file=/home/my3306/my.cnf &复制

本文作者:吴 昊(上海新炬王翦团队)
本文来源:“IT那活儿”公众号
文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1327次阅读
2025-03-13 11:40:53
MySQL8.0统计信息总结
闫建(Rock Yan)
501次阅读
2025-03-17 16:04:03
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
470次阅读
2025-03-13 14:38:19
SQL优化 - explain查看SQL执行计划(一)
金同学
398次阅读
2025-03-13 16:04:22
MySQL突然崩溃?教你用gdb解剖core文件,快速锁定“元凶”!
szrsu
377次阅读
2025-03-13 00:29:43
MySQL生产实战优化(利用Index skip scan优化性能提升257倍)
chengang
331次阅读
2025-03-17 10:36:40
MySQL数据库当前和历史事务分析
听见风的声音
307次阅读
2025-04-01 08:47:17
MySQL 生产实践-Update 二级索引导致的性能问题排查
chengang
252次阅读
2025-03-28 16:28:31
墨天轮个人数说知识点合集
JiekeXu
242次阅读
2025-04-01 15:56:03
一键装库脚本3分钟极速部署,传统耗时砍掉95%!
IT邦德
242次阅读
2025-03-10 07:58:44