MySQL 5.5 & 5.7 源码包如何升级到MySQL 5.7.26
MySQL的升级相对来说还是比较简单
它支持两种方式的升级:
原地升级(In-place Upgrade):关闭数据库,替换旧的二进制文件,重启数据库,执行mysql_upgrade
逻辑升级(Logical Upgrade):用mysqldump导出数据,安装新的数据库版本,将数据导入到新的数据库中,执行mysql_upgrade
但是MySQL版本众多,不仅有各种大版本,譬如5.1,5.5,5.6,5.7,同一个大版本中也会有各种小版本。
那么官方支持怎么的升级路径呢?
同一个大版本中的小版本升级,譬如5.6.25到5.6.31。
跨版本升级,但只支持跨一个版本升级,譬如5.5到5.6,5.6到5.7。##经过试验,是可以从5.5 升级到5.7版本的
不支持跨版本的直接升级,譬如直接从5.1到5.6,可以先从5.1升级到5.5,再从5.5升级到5.6。
本文由“壹伴编辑器”提供技术支持
源码编译安装方式升级
源
升级后的error问题
1、安装时的字符集问题
修改mysql的字符集时,为了将默认字符集设置为utf-8,便将/etc/my.cnf下[mysqld]加了一行 default-character-set=utf8,
但是在下次启动系统的时候,mysql登录不上,发现有报错: /usr/sbin/mysqld:unknown variable 'default-character-set=utf8'
此报错是由/etc/my.cnf配置文件下的[mysqld]设置字符集引起的,
解决方法:
在[mysqld]下增加:character_set_server=utf8
在[client]下的增加:default-character-set=utf8
然后重启mysql服务即可
2、升级之后的配置文件问题
2019-06-14T05:49:15.603638Z 0 [Warning] System table 'plugin' is expected to be transactional.
2019-06-14T05:49:15.603769Z 0 [ERROR] unknown option '--myisam_recover'
2019-06-14T05:49:15.603775Z 0 [ERROR] Aborting
2019-06-14T05:48:57.249961Z 0 [Note] Plugin 'FEDERATED' is disabled.
2019-06-14T05:48:57.251942Z 0 [Warning] System table 'plugin' is expected to be transactional.
2019-06-14T05:48:57.252081Z 0 [ERROR] unknown variable 'thread_concurrency=2'
2019-06-14T05:48:57.252087Z 0 [ERROR] Aborting
2019-06-14T06:18:14.932972Z 0 [Warning] System table 'plugin' is expected to be transactional.
2019-06-14T06:18:14.933125Z 0 [ERROR] unknown variable 'innodb_additional_mem_pool_size=16M'
2019-06-14T06:18:14.933132Z 0 [ERROR] Aborting
三个问题分别对应下面的解决方法
thread_concurrency (在5.7.2中删除)
--myisam_recover 注释掉,参数问题
innodb_additional_mem_pool_size = 16M 5.6已经被弃用
你不必一开始就很棒,但你必须开始才能变得很棒。
——金克拉
请关注扫码下方二维码获得更多干货哦