mysql小版本升级补丁操作

一、前言
业务场景中需要通过小版本升级来解决 MySQL 的一些 BUG 需要升级到更高版本来解决,本篇博客记录 MySQL 小版本升级操作过程。
二、升级过程
查看当前 MySQL 版本:

root@mysql 17:05:  [(none)]> select @@version;
+------------+
| @@version  |
+------------+
| 5.7.29-log |
+------------+
1 row in set (0.01 sec)

root@mysql 17:05:  [(none)]>

目前为 5.7.29 计划升级为 5.7.32

首先从官网下载升级的二进制版本包上传到服务器:

[root@db01 opt]# ls
mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
[root@db01 opt]#


按照自己需求备份数据和配置文件:

数据比较重要稳妥起见可以先做一个备份。

注意检查原数据文件存放的目录

mysqladmin -u root -p variables | grep datadir
cat /etc/my.cnf|grep datadir

配置MySQL以通过设置 innodb_fast_shutdown 为执行慢速关闭:

root@mysql 17:08:  [(none)]> select @@innodb_fast_shutdown;
+------------------------+
| @@innodb_fast_shutdown |
+------------------------+
|                      1 |
+------------------------+
1 row in set (0.01 sec)    

root@mysql 17:08:  [(none)]> SET GLOBAL innodb_fast_shutdown=0;
Query OK, 0 rows affected (0.00 sec)

停止 MySQL 服务:

mysqladmin -u root -p shutdown

解压下载的二进制安装包,覆盖原来的安装路径:

tar -zxvf mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
cp -frp mysql-5.7.32-linux-glibc2.12-x86_64/* /usr/local/mysql

使用现有的目录启动 MySQL 服务:

./mysqld_safe --defaults-file=/etc/my.cnf --datadir=/data/mysql57/data/ --user=mysql &

.运行 mysql_upgrade:

mysql_upgrade -u root -p

[root@db01 bin]# mysql_upgrade -uroot -p
Enter password:
Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
Checking system database.
mysql.columns_priv                                 OK
mysql.db                                           OK
mysql.engine_cost                                  OK
mysql.event                                        OK
mysql.func                                         OK
mysql.general_log                                  OK
mysql.gtid_executed                                OK
mysql.help_category                                OK
mysql.help_keyword                                 OK
mysql.help_relation                                OK
mysql.help_topic                                   OK
mysql.innodb_index_stats                           OK
mysql.innodb_table_stats                           OK
mysql.ndb_binlog_index                             OK
mysql.plugin                                       OK
mysql.proc                                         OK
mysql.procs_priv                                   OK
mysql.proxies_priv                                 OK
mysql.server_cost                                  OK
mysql.servers                                      OK
mysql.slave_master_info                            OK
mysql.slave_relay_log_info                         OK
mysql.slave_worker_info                            OK
mysql.slow_log                                     OK
mysql.tables_priv                                  OK
mysql.time_zone                                    OK
mysql.time_zone_leap_second                        OK
mysql.time_zone_name                               OK
mysql.time_zone_transition                         OK
mysql.time_zone_transition_type                    OK
mysql.user                                         OK
The sys schema is already up to date (version 1.5.2).
Checking databases.
new_data.auth_group                                OK
new_data.auth_group_permissions                    OK
new_data.auth_permission                           OK
new_data.cate                                      OK
new_data.collection                                OK
new_data.comment                                   OK
new_data.django_admin_log                          OK
new_data.django_content_type                       OK
new_data.django_migrations                         OK
new_data.django_session                            OK
new_data.new                                       OK
new_data.new_correlation                           OK
new_data.tb_users                                  OK
new_data.tb_users_groups                           OK
new_data.tb_users_user_permissions                 OK
sys.sys_config                                     OK
Upgrade process completed successfully.
Checking if update is needed.
1
关闭 MySQL 重新启动:

mysqladmin -u root -p shutdown

./mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &


登陆到 MySQL 查询版本:

root@mysql 17:34:  [(none)]> select @@version;
+------------+
| @@version  |
+------------+
| 5.7.32-log |
+------------+
1 row in set (0.00 sec)

三、升级过程中可能会遇到的问题
可能会在 mysql_upgrade 步骤中夯住,可能是因为该实例在复制集群中,建议可以先暂时 stop slave 然后再重新 mysql_upgrade 即可。
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值