首页
运维教程
Linux基础
系统服务
系统架构
数据库
shell脚本
虚拟化
大数据
DevOps
企业案例
运维开发
python
go语言
运维安全
行业资讯
网络基础
系统安全
运维面试
学习路线
学习方法
面试题库
职场解惑
常用软件
运维软件
办公软件
书籍资源
日知录
招聘信息
读书计划
智码微课
关于我们
首页 运维教程数据库【MySQL】MySQL的常用升级方法

【MySQL】MySQL的常用升级方法

  1. 升级方式
    1) 小版本升级
    使用mysql_upgrade升级不可跳级,从5.1升级到5.6,需要先升级到5.5;这种适合小版本升级。
    MySQL升级本质上是对数据字典的升级,数据字典有:mysql、information_schema、performance_schema、sys schema。
    2)大版本升级
    logical upgrade:
    适合不同操作系统的MySQL升级,大版本之间的升级

  2. 两者的区别

  • in-place upgrade:
适合小版本的升级。
即 关闭当前的MySQL,替换当前的二进制文件或包,在现有的数据目录上重启MySQL,并运行
mysql_upgrade.
特点:不改变数据文件,升级速度快;但,不可以跨操作系统,不可以跨大版本(5.5—>5.7).
  • logical upgrade:
适合不同操作系统的MySQL升级,大版本之间的升级。
即:使用mysqldump 或 mydumper 导入导出数据,实现版本的升级。
特点:可以跨操作系统,跨大版本;但,升级速度慢,容易出现乱码等问题
  1. 升级步骤
    1)备份
    升级前要备份与数据相关的所有文件,包括datadir,ib_logfile,ibdata1和binlog等
    要理解 所谓的备份就是个拷贝的过程
    2)升级
    3)使用mysql_upgrade 检查不兼容的表。
    4) 测试升级后是否能正常访问,查看MySQL版本,用户权限,访问用户数据,查看是否正常。
    查看新版本的sql_mode值和旧版本中的sql_mode值是否相同。

  2. 升级注意事项
    1) 升级前的备份重于一切
    2)提前了解新版本变更的信息,切实弄清楚哪些不再兼容,不再支持哪些功能,增加了哪些功能)
    3)关注sql_mode的变化
    比如MySQL8已经取消了NO_AUTO_CREATE_USER这个关键词,所以从5.7升级的时候,需要取消掉NO_AUTO_CREATE_USER,否则升级完后设置sql_mode不能启动
    备注: 这个值可以完成不同程度的数据校验,有效的保障数据的准确性。
    4) 升级后要确保业务SQL能跑通,程序层正常
    5)注意字符集乱码的问题。
    6) 升级过程中多次启动建议加上 –skip-grant-tables和–skip-networking 参数,来保证没有任何的应用连接,让升级过程更加安全。

7)若主库有低于5.7的版本的,则从库不建议升级到5.7版本,否则会出现莫名其妙的sql报错。
8)若是主从模式,建议先升级从库,升级后从库会记录同步信息,所以不需要重新做主从同步,启动即可。

本文链接:http://www.geekyunwei.com/1186.html

网友评论comments

发表评论

邮箱地址不会被公开。 必填项已用*标注

暂无评论

Copyright © 2021 极客运维 备案号: 京ICP备2021004281号
扫二维码
扫二维码
返回顶部