mysql5.6.46升级到mysql 5.7.28

a.在mysql5.6.46主机上安装mysql5.7.28

1. 上传软件并解压、软连接

ln -s mysql-5.7.28-linux-glibc2.12-x86_64 mysql57

2. 环境处理

 配置文件重命名
[root@db01 app]# mv /etc/my.cnf /etc/my.cnf.bak
 注释环境变量
vim /etc/profile 
注释以下行
#export PATH=/data/app/mysql/bin:$PATH 
source /etc/profile
 生效环境变量
检查 : mysql -V 是否有显示
[root@db01 app]# mysql -V
-bash: /usr/bin/mysql: No such file or directory

3. 准备5.7 相关目录

mkdir -p /data/3316/data

4.初始化

[root@nfs /data/app]# /data/app/mysql57/bin/mysqld --initialize-insecure --user=mysql --basedir=/data/app/mysql57 --datadir=/data/3316/data

mysql5.6.46升级到mysql 5.7.28_第1张图片

5.恢复环境

mv /etc/my.cnf.bak  /etc/my.cnf
vim /etc/profile 
取消注释以下行
export PATH=/data/app/mysql/bin:$PATH 

6.授权

[root@db01 ~]# chown -R mysql. /data/*

7.修改配置文件

[root@nfs /data/app]# vim /data/3316/my.cnf
[mysqld]
user=mysql                  
basedir=/data/app/mysql57    
 datadir=/data/3316/data     
socket=/tmp/mysql3316.sock      
port=3316                   
server_id=16 
[mysql]
socket=/tmp/mysql3316.sock

8.systemctl管理

[root@nfs /data/app]# vim /etc/systemd/system/mysqld3316.service 
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/data/app/mysql57/bin/mysqld --defaults-file=/data/3316/my.cnf
LimitNOFILE = 5000

b. 停原库

1. 快速关库功能关闭(优雅关闭)

vim /etc/my.cnf

添加以下配置

innodb_fast_shutdown=0
[root@db01 data]# systemctl stop mysqld

c. 使用高版本软件挂低版本数据启动

[root@db01 data]# /data/app/mysql57/bin/mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables --skip-networking &

在这里插入图片描述

d. 升级

[root@db01 data]# /data/app/mysql57/bin/mysql_upgrade -S /tmp/mysql.sock --force

mysql5.6.46升级到mysql 5.7.28_第2张图片
mysql5.6.46升级到mysql 5.7.28_第3张图片

e. 重启数据库到正常状态

[root@db01 data]# mysqladmin -S /tmp/mysql.sock shutdown

修改数据库

[root@nfs /tmp]# vim /etc/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/data/app/mysql57/bin/mysqld --defaults-file=/etc/my.cnf
LimitNOFILE = 5000

启动数据库

[root@db01 data]# systemctl start mysqld

连接查看

[root@db01 data]# mysql -S /tmp/mysql.sock

mysql5.6.46升级到mysql 5.7.28_第4张图片

查看数据结构

mysql5.6.46升级到mysql 5.7.28_第5张图片

你可能感兴趣的:(mysql)