mysql version 50713_MySQL 5.6 升级为 MySQL 5.7
一、概述
MySQL升级5.6到5.7的方式有两种,分别为:
In-Place Upgrade
Logical Upgrade
二、升级操作
以In-Place方式即物理升级为例,MySQL版本分别为 5.6.27 和 5.7.13。
具体过程如下:
使用xtrabackup对5.6的数据进行一次全备
安装MySQL5.7,将5.6备份的数据文件拷贝到5.7的data目录下
在5.7中对5.6的数据文件进行升级
升级完成后将5.7作为从库同步线上的5.6
找合适的时间切换到5.7的从库上
1. 环境准备
搭建5.7实例,并使用5.6实例的备份替换5.7的data目录
mv data data_20180405 #移走5.7库data
mv 56_back_20180405 data #移入5.6库备份文件
chown -R mysql.mysql data
2. 升级数据文件
开启5.7实例
./bin/mysqld_safe --defaults-file=./etc/mysql.cnf &
启动后会发现此时5.7实例已经可以登录,但是在error日志中会有很多error:
[ERROR] Incorrect definition of table performance_schema.events_waits_current: expected column 'NESTING_EVENT_TYPE' at position 15 to have type enum('TRANSACTION','STATEMENT','STAGE','WAIT', found type enum('STATEMENT','STAGE','WAIT').
[ERROR] Incorrect definition of table performance_schema.events_waits_summary_by_user_by_event_name: expected column 'USER' at position 0 to have type char(32), found type char(16).
[ERROR] Column count of performance_schema.table_lock_waits_summary_by_table is wrong. Expected 68, found 73. Created with MySQL 50627, now running 50713. Please use mysql_upgrade to fix this error.
[ERROR] mysql.user has no `Event_priv` column at position 28
[ERROR] Native table 'performance_schema'.'session_variables' has the wrong structure
...
下面使用5.7实例对5.6数据文件进行升级:
./bin/mysql_upgrade --defaults-extra-file=./etc/user.root.cnf
该操作会check系统表并进行升级,并且check所有库表兼容性。
3. 重启5.7实例
./bin/mysqladmin --defaults-extra-file=./etc/user.root.cnf shutdown
./bin/mysqld_safe --defaults-file=./etc/mysql.cnf &
此时查看error日志,会发现这次的启动过程正常了,没有出现报错。
至此5.6实例的数据文件已经被成功升级。
4. 建立主从同步进行切换
由于5.7使用的是5.6的全备,所以可以通过指定 xtrabackup_binlog_info 中的同步点来建立同步,5.7可以作为5.6的从库。
同步检查没问题后,便可以找合适的时间来进行切换了。切换相关的具体步骤就不再详细表述,选择在业务低峰期使用MHA或手动切换都可以。
三、相关问题
1. Cannot setup server variables
在使用mysql_upgrade进行升级时遇到:
./bin/mysql_upgrade --defaults-extra-file=./etc/user.root.cnf
Error occurred: Cannot setup server variables.
这是因为我此时使用的账号是一个普通账号,没有super权限,在更换为具有super权限的账号后问题解决。
四、后记
MySQL官网上提供的方法是shutdown 5.6 ,替换二进制包和命令等为5.7的版本,然后进行升级操作,但是这种方法需要shutdown DB,可能无法适用于线上,因此反过来要更好一些。
作者:o翡翠谷o
mysql version 50713_MySQL 5.6 升级为 MySQL 5.7相关推荐
- 怎么解决mysql中文显示_怎样解决关于MySQL显示中文的问题?
第一种方法,很精辟的总结: 经常更换虚拟主机,而各个服务商的MYSQL版本不同,当导入数据后,总会出现乱码等无法正常显示的问题,查了好多资料,总结出自己的一点技巧: WINDOWS 下导入应该这样 使 ...
- Centos MySQL 5.7安装、升级教程
MySQL 5.7安装.升级笔记分享: 卸载当前的 MySQL 查看当前 MySQL 版本: ? 1 2 [root@coderknock ~]# mysql -V mysql Ver 14.14 D ...
- mysql从5.7平滑升级到8.0.27
mysql升级过程 官网下载最新的mysql安装包 上传到服务器的/opt/mysql目录下解压: # 文件上传位置在/opt/mysql/下面 cd /opt/mysql/# 解压安装包 [root ...
- 项目纪实丨MySQL Bug引发客户现场升级失败 万里DBA 6小时攻克难关
上午10:00 某运营商核心报表平台升级前夕 作为万里数据库的战略合作伙伴,某运营商一直密切关注着国产数据库的发展.其系统中一套基于MySQL8.0.11版本的核心报表平台,近期由于存在安全扫描的漏洞 ...
- MySQL从5.7.32升级到8.0.22
目录 一.备份与导出数据 二.升级到MySQL-8.0.22同时解决字符集问题 2.1.卸载MySQL-5.7.32 2.2.安装MySQL-8.0.22 2.3.修改配置文件 my.cnf 三.导入 ...
- mysql 5.1.61_MySQL数据库之将Mysql 5.1.61升级为mysql 5.6.19
本文主要向大家介绍了MySQL数据库之将Mysql 5.1.61升级为mysql 5.6.19 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 环境:mysql-5.1.61 操 ...
- R语言连接MySQL报错:could not run statement: The used command is not allowed with this MySQL version
版本说明 R版本:3.5 MySQL版本:8.0 RMySQL版本:0.10.19 情景说明: 使用RMySQL成功连接到MySQL数据库,可以进行查询操作,但在插入时报错,提示信息如下: con & ...
- suse mysql 5.5_suse 11 mysql 如何从5.1升级到5.5
MySQL-server-5.0.67-1.sles11 libqt4-sql-mysql-4.6.2-1.6.11 libmysqlclient15-5.0.67-13.20.1 php5-mysq ...
- php mysql切换版本5.7_phpstudy 升级 MySQL版本到MySQL5.7
#### 起因:我用laravel6做迁移的时候,总是报这个错误 SQLSTATE[42000]: Syntax error or access violation: 1071 Specified k ...
- MySQL - 无索引行锁升级为表锁
文章目录 生猛干货 无索引行锁升级为表锁演示 表结构 索引信息 操作演示 结论 搞定MySQL 生猛干货 带你搞定MySQL实战,轻松对应海量业务处理及高并发需求,从容应对大场面试 无索引行锁升级为表 ...
最新文章
- 企业×××远程接入的优劣分析
- svn更改用户名方法:
- stm32 IAP APP 相互跳转实验 (keil4 jlink STM32F407ZE
- php中如何使用phpredis
- 《编程之美》蚂蚁爬杆问题的扩展【1】
- 为 ASP.NET 创建缓存配置对象[转载]
- 中心对称又是轴对称的图形_【笔记-公务员amp;事业单位】行测:图形推理
- mysql 无限级分类实现思路
- iss服务器显示不符合要求,IIS站点启动错误提示“值不在预期的范围内”解决方法...
- 一个高中生的编程自学经历
- 网络攻防技术(摆烂一天)
- LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation【论文阅读笔记】
- 数据管理能力成熟度模型(DMM)
- Five nines
- canvas画任意角度的扇形,弧形,及扇形弧形填纯色渐变色
- 台积电重要供应商警告:明年芯片材料价格将继续上涨
- 一文读懂“个人经营收款码”和“个人收款码”的区别
- Vue响应式原理整理笔记
- 环科跨考数一英一408经验帖
- oracle with as用法
热门文章
- 《高性能Linux服务器构建实战:系统安全、故障排查、自动化运维与集群架构》——3.3 DRBD的管理与维护...
- 有关使用seajs和template模板的总结
- Python::OS 模块简介
- 对模型方差和偏差的解释之二:泛化误差
- 谷歌眼镜设计规范之度量和网格
- 简要说明python的缩进规则_关于python的缩进规则的知识点详解
- easyui添加删除表格任意行
- [R语言统计]频数表
- Can‘t exec “autopoint“: 没有那个文件或目录 at /usr/share/autoconf/Autom4te/FileUtils.pm line 345.
- JAVA格式化输出字串