MySQL 小版本升级操作步骤

在这里插入图片描述

一、前言
  • 业务场景中需要通过小版本升级来解决 MySQL 的一些 BUG 需要升级到更高版本来解决,本篇博客记录 MySQL 小版本升级操作过程。
二、升级过程
  1. 查看当前 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

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

    [root@db01 opt]# ls
    mysql-5.7.32-linux-glibc2.12-x86_64.tar.gz
    [root@db01 opt]#
    
  3. 按照自己需求备份数据和配置文件:

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

  4. 配置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)
    
  5. 停止 MySQL 服务:

    mysqladmin -u root -p shutdown
    
  6. 解压下载的二进制安装包,覆盖原来的安装路径:

    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
    
  7. 使用现有的目录启动 MySQL 服务:

    ./mysqld_safe --defaults-file=/etc/my.cnf --datadir=/data/mysql57/data/ --user=mysql &
    
  8. .运行 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.
    
  9. 关闭 MySQL 重新启动:

    mysqladmin -u root -p shutdown
    
    ./mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
    
  10. 登陆到 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 即可。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值