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

无外网升级mysql 5.6到5.7

[复制链接]
查看1763 | 回复0 | 2019-7-26 11:02:14 | 显示全部楼层 |阅读模式
一、升级到mysql 5.6 系列最新版

由于要升级mysql的那台服务器不能访问外网,所以总的思路是找一台能访问外网的服务器,把mysql的包下载下来,然后传输到需要升级mysql的服务器上。
要升级mysql的那台服务器的ip地址为:192.168.0.2            系统版本:CentOS 6.7
另外一台可以访问外网的服务器的ip地址为:192.168.0.3     系统版本:RedHat 6.7

192.168.0.3 上操作

下载mysql安装源:
https://www.51anidea.com/forum.php?mod=viewthread&tid=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
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

以上几行表示mysql8的安装信息,因为这里是要下载mysql 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的yum源:
# yum list | grep mysql
输出如下内容:
  1. mysql-community-client.i686                5.6.44-2.el6                    mysql56-community
  2. mysql-community-common.i686                5.6.44-2.el6                    mysql56-community
  3. mysql-community-devel.i686                 5.6.44-2.el6                    mysql56-community
  4. mysql-community-devel.x86_64               5.6.44-2.el6                    mysql56-community
  5. mysql-community-embedded.i686              5.6.44-2.el6                    mysql56-community
  6. mysql-community-embedded.x86_64            5.6.44-2.el6                    mysql56-community
  7. mysql-community-embedded-devel.i686        5.6.44-2.el6                    mysql56-community
  8. mysql-community-embedded-devel.x86_64      5.6.44-2.el6                    mysql56-community
  9. mysql-community-libs.i686                  5.6.44-2.el6                    mysql56-community
  10. mysql-community-libs-compat.i686           5.6.44-2.el6                    mysql56-community
复制代码
可以看出,yum源已包含了mysql 5.6系列的最新版。

下载mysql 5.6.44相关的包:
# yum -y install yum-utils
# yumdownloader mysql-community-server-5.6.44-2.el6 mysql-community-common-5.6.44-2.el6 mysql-community-client-5.6.44-2.el6 mysql-community-libs-5.6.44-2.el6

将mysql 5.6.44相关的包传输到 192.168.0.2(需要升级mysql的机器):
# scp mysql-community-server-5.6.44-2.el6.x86_64.rpm mysql-community-common-5.6.44-2.el6.x86_64.rpm mysql-community-client-5.6.44-2.el6.x86_64.rpm mysql-community-libs-5.6.44-2.el6.x86_64.rpm 用户名@192.168.0.2:~


192.168.0.2上操作

查看当前mysql软件包的版本:
# rpm -qa | grep mysql
输出如下信息:
  1. mysql-community-server-5.6.38-2.el6.x86_64
  2. mysql-community-common-5.6.38-2.el6.x86_64
  3. mysql-community-client-5.6.38-2.el6.x86_64
  4. mysql-community-libs-5.6.38-2.el6.x86_64
  5. mysql57-community-release-el6-7.noarch
复制代码

升级前先完整备份mysql的数据,以防万一:
# mysqldump -u root -p --all-databases > /root/all.sql

停止mysql服务:
# service mysqld stop

升级mysql软件包到5.6.44(相应的安装包刚才已经从192.168.0.3传输过来了):
# rpm -Uvh mysql-community-client-5.6.44-2.el6.x86_64.rpm mysql-community-common-5.6.44-2.el6.x86_64.rpm  mysql-community-libs-5.6.44-2.el6.x86_64.rpm mysql-community-server-5.6.44-2.el6.x86_64.rpm

验证是否已升级成功:
# rpm -qa | grep mysql
输出如下信息:
  1. mysql-community-libs-5.6.44-2.el6.x86_64
  2. mysql-community-server-5.6.44-2.el6.x86_64
  3. mysql-community-common-5.6.44-2.el6.x86_64
  4. mysql-community-client-5.6.44-2.el6.x86_64
复制代码
说明已经升级成功了。

启动mysql:
# service mysqld start

登陆mysql,验证版本:
# mysql -u root -p
输入密码后:
  1. Welcome to the MySQL monitor.  Commands end with ; or \g.
  2. Your MySQL connection id is 2
  3. Server version: 5.6.44 MySQL Community Server (GPL)
复制代码
以上信息证明mysql已成功升级到 5.6.44。


二、升级到mysql 5.7

192.168.0.3 上操作

参考之前的方法,下载mysql 5.7相关的软件包。

# vi /etc/yum.repos.d/mysql-community.repo
找到:

# 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=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

这里是要下载mysql 5.7系列的最新版,所以要禁用mysql6,禁用的方法是把enable的值改成0。其他地方保存不变。

然后找到:

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

把enable的值改成1,这样就启用了mysql 5.7。

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

下载mysql 5.7 相关软件包:# yumdownloader mysql-community-common-5.7.26-1.el6.x86_64 mysql-community-libs-5.7.26-1.el6.x86_64 mysql-community-server-5.7.26-1.el6.x86_64 mysql-community-client-5.7.26-1.el6.x86_64

将mysql 5.7 相关软件包传输到192.168.0.2:
scp mysql-community-common-5.7.26-1.el6.x86_64.rpm mysql-community-libs-5.7.26-1.el6.x86_64.rpm mysql-community-server-5.7.26-1.el6.x86_64.rpm mysql-community-client-5.7.26-1.el6.x86_64.rpm 用户名@192.168.0.2:~



192.168.0.2 上操作

停止mysql服务:
# service mysqld stop

升级mysql软件包:
# rpm -Uvh mysql-community-libs-5.7.26-1.el6.x86_64.rpm mysql-community-server-5.7.26-1.el6.x86_64.rpm mysql-community-common-5.7.26-1.el6.x86_64.rpm mysql-community-client-5.7.26-1.el6.x86_64.rpm

验证升级是否成功:
# rpm -qa | grep mysql
输出如下信息:
  1. mysql-community-common-5.7.26-1.el6.x86_64
  2. mysql-community-libs-5.7.26-1.el6.x86_64
  3. mysql-community-server-5.7.26-1.el6.x86_64
  4. mysql-community-client-5.7.26-1.el6.x86_64
  5. mysql57-community-release-el6-7.noarch
复制代码
表示已经升级成功了。

启动mysql服务:
# service mysqld start

执行以下命令:
# mysql_upgrade -u root -p
输出信息若显示:Upgrade process completed successfully.代表执行成功。


三、故障排除

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

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




上一篇:数据库用不了mysqladmin和mysql -v 等命令
下一篇:Can't connect to local MySQL server through socket '/tmp/mysql.sock'
回复

使用道具 举报

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

本版积分规则

1249

主题

2736

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
70208
QQ