当前位置:   article > 正文

MySQL 小版本升级操作步骤_mysql小版本升级

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)]>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    目前为 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]#
    
    • 1
    • 2
    • 3
  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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  5. 停止 MySQL 服务:

    mysqladmin -u root -p shutdown
    
    • 1
  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
    
    • 1
    • 2
  7. 使用现有的目录启动 MySQL 服务:

    ./mysqld_safe --defaults-file=/etc/my.cnf --datadir=/data/mysql57/data/ --user=mysql &
    
    • 1
  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.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
  9. 关闭 MySQL 重新启动:

    mysqladmin -u root -p shutdown
    
    ./mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
    
    • 1
    • 2
    • 3
  10. 登陆到 MySQL 查询版本:

    root@mysql 17:34:  [(none)]> select @@version;
    +------------+
    | @@version  |
    +------------+
    | 5.7.32-log |
    +------------+
    1 row in set (0.00 sec)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
三、升级过程中可能会遇到的问题
  • 可能会在 mysql_upgrade 步骤中夯住,可能是因为该实例在复制集群中,建议可以先暂时 stop slave 然后再重新 mysql_upgrade 即可。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/417304
推荐阅读
相关标签
  

闽ICP备14008679号