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实战,轻松对应海量业务处理及高并发需求,从容应对大场面试 无索引行锁升级为表 ...
最新文章
- php向数据库添加数据失败,无法从PHP中的表单向数据库添加数据
- Xmind settings lower
- 数据结构(六)---队列的链式存储的实现---java版
- 学go语言能做什么工作?
- ArcGIS实验教程——实验三十一:ArcGIS构建泰森多边形(Thiessen Polygon)实例精解
- word排版插件_8款堪称神器的Office插件,让你工作效率直线飙升!
- 网页服务器移机设置,手头有一台服务器,应该怎么配置才能正常作为网站服务器运行呢?...
- 华为服务器重装操作系统,华为服务器安装操作系统
- 有道词典java下载电脑版下载不了_网易有道词典电脑版下载
- 微信小程序之tab切换效果
- 计算机桌面黑屏有鼠标,win7系统启动黑屏只有显示鼠标指针怎么办(图文)
- 阿里云oss使用cdn,节省oss下行流量
- 一阶线性差分方程通项公式求解
- There are 2 audio listeners in the scene.的问题
- Linux不用root权限安装nvcc
- linux定期清理日志脚本,一周清理一次
- SM3算法预处理和非预处理的调用(0018规范接口)
- Python核心编程读书笔记
- 工业互联网-企业数据打通解决方案
- 由于计算机主板的闪存中固化了,主板bios内存设置