Linux MySQL 5.7二进制 小版本快速升级


Linux MySQL 5.7二进制 小版本快速升级

注意,文中的目录路径请根据实际情况修改。

  1. 配置 mysql 慢速关闭

    mysql -u root -p --execute="SET GLOBAL innodb_fast_shutdown=0"
    
  2. 关闭 mysql 服务

    mysqladmin -u root -p shutdown
    
  3. 备份数据文件

    mkdir /work/data_bak && cp -r /work/data/* "$_"
    
  4. 备份原 mysql 应用文件

    mv /work/{mysql,mysql_bak}
    
  5. 使用新版 mysql 替换原 mysql 应用文件

    tar -xzvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
    
    mv /work/{mysql-5.7.31-linux-glibc2.12-x86_64,mysql}
    
  6. 修改文件所有者

    chown -R mysql:mysql /work/mysql
    
  7. 启动 mysql 服务

    mysqld_safe --user=mysql
    

    启动完成后可使用 mysql -V 获取连接数据库 执行 select @@version 查看当前数据库版本

  8. 运行mysql_upgrade

    mysql_upgrade -u root -p
    
  9. 重启 mysql 服务

    mysqladmin -u root -p shutdown
    
    mysqld_safe --user=mysql
    

除了上述的方法,还可以通过逻辑升级的方式对mysql进行升级。逻辑升级就是导出数据,然后升级,最后再导入数据。安全性高,主要针对数据量不大的数据库,常用的工具:mysqldump和Xtrabackup。

扩展:innodb_fast_shutdown有3个取值:

  • 设置为1:关闭MySQL的时候不会做清除脏页和插入缓冲区的合并操作,也不会将脏页刷新到磁盘
  • 设置为0:会做清除脏页和插入缓冲区的合并操作,也会将脏页全部刷新到磁盘上面去,但是这个时候关闭的速度也是最慢的
  • 设置为2:不会做清除脏页和插入缓冲区的合并操作,也不会将脏页刷新到磁盘,但是会刷新到redo log里面,再下次启动mysql的时候恢复
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值