• 记一次mysql小版本升级


    最近对后端组件进行安全扫描时,发现了一些轻微漏洞,为了避免后续部署后安全扫描出现问题,决定对mysql做一次版本升级。升级的原则是对mysql的二进制文件进行升级,若有主备节点,先升级从节点升级完成后将其提为主节点,然后再升级原主节点。

    升级步骤:

    mysql当前版本:5.7.24

    目标版本:5.7.28

    前期准备:

    1.待升级mysql安装包:mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz,下载地址:https://dev.mysql.com/downloads/mysql/

    2.备份mysql数据:

    ./mysqldump -u<ACCOUNT> -p<PASSWORD> -S mysql.sock -F -A -B |gzip > ~/mysql_backup/20191020/mysqlbak.sql.gz

    3.备份配置文件:

    cp <mysql-root>/*.cnf ~/mysql_backup/20191020/

    步骤(完整流程包含准备内容):

    1.备份数据库: 

    mysqldump -u<username> -p<password> -S mysql.sock -F -A -B |gzip >/home/user/backup/20191029/mysqlbak.sql.gz

    2.停止mysql数据库,我是使用supervisor做进程管理,所以直接执行命令:

    supervisorctl stop mysql

    tip:若未使用守护进程则使用如下命令关闭mysql:

    mysql -u root -p -S /data/mysql3308/mysql3308.sock --execute="SET GLOBAL innodb_fast_shutdown=0"
    mysqladmin -u root -p -S /data/mysql3308/mysql3308.sock shutdown

    3.备份启动配置文件以及启动脚本:

    cp mysql/*.cnf /home/user/backup/20191029/
    ### 启动脚本是自己写的用于supervisor,正常mysql是没有这个的
    cp mysql/bin/start.sh /home/user/backup/20191029/

    4.解压新版本的压缩包至安装目录:

    tar -zxvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C <install-root>

    5.将mysql的软连接指向新版本的二进制文件

    mv mysql mysql.20191029
    ln -s <install-root>/mysql-5.7.28-linux-glibc2.12-x86_64 mysql

    6.将备份的启动配置文件以及启动脚本拷贝至新的mysql当中:

    cp /home/user/backup/20191029/*.cnf <install-root>/mysql/
    cp /home/user/backup/20191029/bin/start.sh<install-root>/mysql/bin

    7.启动mysql:

    supervisorctl start mysql

    8.检查所有表是否与当前版本兼容,并更新系统库(这个版本因为比较小所以系统库的内容是兼容的):

    mysql_upgrade -u<user> -p<password> -S mysql.sock

    9.重新启动mysql,让对系统表的改动生效:

    supervisorctl restart mysql
  • 相关阅读:
    WPF
    binding(转)
    C# winForm调用WebService
    如何用vs2010打开vs2013的项目?
    pyqt——布局管理
    pyqt5——对话框
    pyqt5——俄罗斯方块游戏
    pyqt5——事件和信号
    pyQT5——hello world!
    PyQt5 简介
  • 原文地址:https://www.cnblogs.com/JCYH/p/mysql_update.html
Copyright © 2020-2023  润新知