MySQL 5.6升级到5.7
一、概述
1、运行Mysql_upgrade时需要禁用GTID,因为运行Mysql_upgrade会修改mysql引擎的系统表,这不是一个事务表。
2、升级到5.7官方推荐的两种方法:
2.1、in-place upgrade:原地升级法,利用已存在的datadir目录进行升级。
2.2、logical upgrade:逻辑升级法,利用mysqldump导出导入进行升级。
3、在实际的升级过程中很少会用到上面这两种方法,特别是第一种;通常都是通过部署一个新从库来完成升级的(主库老版本,从库目标版本),这样的话只需要在切换的时候停下机就行了。
4、逻辑升级的话,先导出,接着导入,最后运行mysql_upgrade完成升级;另外,小版本升级可以不运行mysql_upgrade,在实际的生产环境中,建议不管是小版本升级还是大版本升级都运行mysql_upgrade。
二、升级环境说明
名称 | 升级前 | 升级后 | 备注 |
OS版本 | RHEL 6.4 x86_64 | RHEL 6.4 x86_64 | |
MySQL版本 | 5.6.29社区版 64bit | 5.7.13社区版 64bit | Linux Generic Binaries |
MySQL安装路径 | /opt/app/mysql/5.6.29 | /opt/app/mysql/5.7.13 | |
Myf存放路径 | /etc/myf | /etc/myf | |
Mysql basedir | /opt/app/mysql/5.6.29 | /opt/app/mysql/5.7.13 | |
Mysql Datadir | /data/mysql/mysql3376/data | /data/mysql/mysql3376/data | |
Mysql端口号 | 3376 | 3376 | |
三、升级MySQL软件
1、安装MySQL 5.7
[root@rac1 ~]#
cd /data/soft/
tar –zxvf mysql-5.7.13-linux-glibc2.5-x86_ –C /opt/app/mysql/
mv /opt/app/mysql/mysql-5.7.13-linux-glibc2.5-x86_64 /opt/app/mysql/5.7.13
2、修改相关目录的权限
[root@rac1 ~]# chown -sql /opt/app/mysql/5.7.13
四、停应用和MySQL 5.6.29实例并备份数据库
1、停应用
操作过程不进演示
2、数据库备份方法说明
第一种:通过Mysqldump进行备份,这种方法备份速度快恢复速度慢,备份时数据库需要正常运行。
第二种:通过cp 5.6.29的datadir目录来备份,这种方法,备份速度慢,恢复速度快(出问题直接mv回去就行了);但是,需要更多的磁盘空间,这种方法需要在数据库关闭之后进行备份。
3、关闭MySQL 5.6.29实例并备份数据库
3.1、关闭MySQL 5.6.29实例
[root@rac1 ~]# /opt/app/mysql/5.6.29/bin/mysqladmin -uroot -pwuyong -S /tmp/mysql3376.sock shutdown
Warning: Using a password on the command line interface can be insecure.
[root@rac1 ~]# ps -ef | grep mysqld
root 3790 2453 0 15:57 pts/0 00:00:00 grep mysqld
3.2、备份MySQL 5.6.29数据库
# 在实例关闭之后,通过cp datadir目录的方式来备份。
[root@rac1 ~]# cd /data/mysql/
[root@rac1 mysql]# ll
total 4
drwxr-xr-x 5 mysql mysql 4096 May 25 14:35 mysql3376
[root@rac1 mysql]# cp -pr mysql3376 mysql3376.bak
[root@rac1 mysql]# ll
total 8
drwxr-xr-x 5 mysql mysql 4096 May 25 14:35 mysql3376
drwxr-xr-x 5 mysql mysql 4096 May 25 14:35 mysql3376.bak
五、修改myf配置文件并启动MySQL 5.7.13
1、修改myf配置文件
1.1、备份myf配置文件
[root@rac1 ~]# cp /etc/myf /etc/5.6.29_myf
[root@rac1 ~]# ls -l /etc/5.6.29_myf
-rw-r--r-- 1 root root 1894 Jul 5 16:00 /etc/5.6.29_myf
1.2、正式修改myf配置文件
# 主要修改basedir和禁用gtid
将/etc/myf文件中的“basedir = /opt/app/mysql/5.6.29”替换成“basedir = /opt/app/mysql/5.7.13 ”并禁用GTID,然后保存所做的修改!
2、启动MySQL 5.7.13
mysql下载app2.1、启动mysql 5.7.13
[root@rac1 ~]# /opt/app/mysql/5.7.13/bin/mysqld --defaults-file=/etc/myf &
[1] 4258
2.2、确认是否启动成功
[root@rac1 ~]# ps -ef | grep mysqld | grep -v grep
mysql 4258 2453 4 16:06 pts/0 00:00:01 /opt/app/mysql/5.7.13/bin/mysqld --defaults-file=/etc/myf
--OK,启动成功,接下来运行mysql_upgrade升级数据字典!
六、升级数据库(升级数据字典)
1、运行mysql_upgrade升级数据字典
[root@rac1 ~]# /opt/app/mysql/5.7.13/bin/mysql_upgrade -uroot -pxxxx
mysql_upgrade: [Warning] Using a password on the command line interface can be insecure.
Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
Checking system database.
lumns_priv OK
mysql.db OK
ine_cost OK
mysql.event OK
mysql.func OK
al_log OK
id_executed OK
mysql.help_category OK
mysql.help_keyword OK
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论