zoukankan      html  css  js  c++  java
  • MySQL版本升级

    MySQL版本升级

    MySQL使用过程中常因为某些bug或者新特性需求进行版本升级,生产环境一般升级有两种方法,原地升级和逻辑升级,逻辑升级就是比较纯粹的导入导出,耗时较长,最稳当。原地升级则是用新版本拉起旧版本数据后更新元数据,耗时少,可能很小概率会有问题,这里我们走一遍原地升级的流程。

    Ⅰ、整体流程

    停库 ---> 备份 ---> 拉起 ---> 更新

    Ⅱ、上手

    2.1 查看当前MySQL版本

    [root@master mysql]# mysql -e "s" |grep 'Server version' |awk '{print $3}'
    5.6.39
    

    2.2 停库&&备份

    注意停库的时候慢一点,最大程度保证数据完整性(full purge and a change buffer merge before shutting down)

    [root@master mysql]# mysql -e "SET GLOBAL innodb_fast_shutdown = 0;"
    [root@master mysql]# /etc/init.d/mysql.server stop
    Shutting down MySQL.. SUCCESS! 
    [root@master mysql]# cp -r /data/mysql /data/mysql_bak
    

    2.3 新版本启动

    [root@master local]# unlink mysql
    [root@master local]# ln -s mysql-5.7.23-el7-x86_64/ mysql
    [root@master local]# /etc/init.d/mysql.server start
    Starting MySQL.. SUCCESS!
    

    2.4 更新元数据

    这里用了-s参数(--upgrade-system-tables),表示只更新系统表(元数据表),不更新数据,数据方面高版本是兼容低版本的,具体用法参考mysql_upgrade --help
    更新完记得重启一哈

    [root@master local]# mysql_upgrade -s
    The --upgrade-system-tables option was used, databases won't be touched.
    Checking if update is needed.
    Checking server version.
    Running queries to upgrade MySQL server.
    Upgrading the sys schema.
    Upgrade process completed successfully.
    Checking if update is needed.
    [root@master ~]# /etc/init.d/mysql.server restart
    Shutting down MySQL.... SUCCESS! 
    Starting MySQL. SUCCESS! 
    

    2.5 没关系,咱们看结果

    [root@master local]# mysql -e "s" |grep 'Server version' |awk '{print $3}'
    5.7.23
    

    Ⅲ、插两句

    ①可以跨大版本升级,但必须先备份,必须
    ②互联网公司升级方案:主从--->升级从--->主从互换--->升级原主
    ③降级也是用这个命令,mysql_upgrade -s,一般不降级,了解一下,小版本之间可以降级 5.7.2到5.7.1这种 ,大版本之间是不可以的

  • 相关阅读:

    今天的收获080716
    手机写博客
    修改加速软件之本地分流(突破电信上网限制)
    Linux并不是传说中的那么不变
    Ubuntu Linux下的几款“磁盘操作阐明器”对比
    在SuSE中设置开机主动启动挨次
    Fedora显卡驱动的装配
    新Qt主题引擎让GNOME下KDE程序更舒服
    Ubuntu的运用总结
  • 原文地址:https://www.cnblogs.com/---wunian/p/10576998.html
Copyright © 2011-2022 走看看