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_ /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小时内删除。