请选择 进入手机版 | 继续访问电脑版

mysql 5.6 yum更新到 5.7

[复制链接]
查看1844 | 回复0 | 2019-7-25 11:59:16 | 显示全部楼层 |阅读模式
一、环境

CentOS 6.7


二、更新方法

更新的过程是先更新到mysql 5.6系列的最新版(5.6.44),然后再更新到5.7系列。
下载mysql安装源:
https://www.51anidea.com/forum.p ... 1165&extra=page%3D1
把下载好的 mysql80-community-release-el6-3.noarch.rpm 上传至服务器

# rpm -ivh mysql80-community-release-el6-3.noarch.rpm
安装之后会在 /etc/yum.repos.d/ 目录下生成 mysql-community.repo 和 mysql-community-source.repo 两个文件。

# vi mysql-community.repo

[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/
enabled=0</div><div>gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

以上几行表示mysql8的安装信息,因为这里是先升级到5.6最新版,所以要禁用mysql8的安装,禁用的方法是把enable的值改成0(默认是1)。其他地方保存不变。

然后找到:

# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

以上几行表示mysql5.6的安装信息,需要启用。启用的方法是把enable的值改成1(默认是0)。其他地方保存不变。

整个mysql-community.repo文件就改以上两个地方,其他地方不变。改好之后,保存文件退出。

更新前,需要完整备份mysql,以防万一:
# mysqldump -u root -p --all-databases > /root/all.sql

停止mysql服务:
# service mysqld stop

# yum install mysql-server
(注意,这里不要加 -y 选项,因为要检查程序是否找对你想要安装的软件包版本)
输出如下信息:
  1. Loaded plugins: fastestmirror, refresh-packagekit, security
  2. Setting up Install Process
  3. Loading mirror speeds from cached hostfile
  4. Resolving Dependencies
  5. --> Running transaction check
  6. ---> Package mysql-community-server.x86_64 0:5.6.40-2.el6 will be updated
  7. ---> Package mysql-community-server.x86_64 0:5.6.44-2.el6 will be an update
  8. --> Processing Dependency: mysql-community-common(x86-64) = 5.6.44-2.el6 for package: mysql-community-server-5.6.44-2.el6.x86_64
  9. --> Running transaction check
  10. ---> Package mysql-community-common.x86_64 0:5.6.40-2.el6 will be updated
  11. ---> Package mysql-community-common.x86_64 0:5.6.44-2.el6 will be an update
  12. --> Finished Dependency Resolution

  13. Dependencies Resolved

  14. =========================================================================================================================================================================
  15. Package                                         Arch                            Version                                Repository                                  Size
  16. =========================================================================================================================================================================
  17. Updating:
  18. mysql-community-server                          x86_64                          5.6.44-2.el6                           mysql56-community                           55 M
  19. Updating for dependencies:
  20. mysql-community-common                          x86_64                          5.6.44-2.el6                           mysql56-community                          308 k

  21. Transaction Summary
  22. =========================================================================================================================================================================
  23. Upgrade       2 Package(s)

  24. Total download size: 55 M
  25. Is this ok [y/N]: y
复制代码
可以看出,程序正要安装mysql5.6.44,符合我们的需要。输入y 即可安装。

安装好之后,启动mysql服务,登陆mysql:
# mysql -u root -p
输入密码后,输出如下信息:
  1. Welcome to the MySQL monitor.  Commands end with ; or \g.
  2. Your MySQL connection id is 348
  3. Server version: 5.6.44 MySQL Community Server (GPL)
复制代码
可以看到,mysql已经更新到5.6.44。

然后,参考上面的方法可将mysql从5.6.44升级到5.7.26。不同的是更改mysql-community.repo文件,禁用MySQL 5.6的安装,启用MySQL 5.7的安装。

升级到mysql5.7之后,需要执行以下命令:
# mysql_upgrade -u root -p


三、故障排除

升级到mysql5.7之后,程序连接mysql时报错:
Native table 'performance_schema'.'session_variables' has the wrong structure

解决方法:
mysql> set @@global.show_compatibility_56=ON;
Query OK, 0 rows affected (0.00 sec)

更多升级过程中可能遇到的问题:

rpm安装时提示 Failed dependencies xx conflicts with xx 的解决方法:
https://www.51anidea.com/forum.php?mod=viewthread&tid=1162&extra=

[Errno 14] PYCURL ERROR 6 - "Couldn't resolve host 的解决方法:
https://www.51anidea.com/forum.php?mod=viewthread&tid=1163&extra=

Package xx is obsoleted by xx which is already installed 的解决方法:
https://www.51anidea.com/forum.php?mod=viewthread&tid=1164&extra=




上一篇:mysql怎么建表
下一篇:mysql Too many connections 的解决方法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1249

主题

2736

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
70233
QQ