实验步骤:

安装解压5.6到指定目录

tar zxf ./mysql-5.6.46-linux-glibc2.12-x86_64.tar.gz -C /usr/src/

mv /usr/src/mysql-5.6.46-linux-glibc2.12-x86_64/ /usr/local/mysql

创建管理Mysql用户和组

groupadd mysql

useradd -M -s /sbin/nologin -g mysql mysql

生成服务配置文件

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig --level 35 mysqld on

修改mysql主配置文件

Vim /etc/my.cnf

[mysqld]

user=mysql

basedir=/usr/local/mysql/

datadir=/usr/local/mysql/data/

socket=/tmp/mysql.sock

port=3306[mysql]

socket=/tmp/mysql.sock

mysql升级(从5.6升级到5.7 从5.7升级到8.0))_mysql

修改mysql数据库所有者

chown mysql:mysql /etc/my.cnf

 

chown -R mysql:mysql /usr/local/mysql/

优化命令

echo "PATH=$PATH:/usr/local/mysql/bin/" >> /etc/profile

(这一步千万不要出错 如果你做错了 要不你就去etc/profile下去解决 要不就恢复干净系统)

Source /etc/profilr

输入mysql 然后按tab键

mysql升级(从5.6升级到5.7 从5.7升级到8.0))_配置文件_02

初始化mysql启动服务

/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/

 

systemctl start mysqld

查看mysql端口是否启动

mysql升级(从5.6升级到5.7 从5.7升级到8.0))_配置文件_03

设置密码

Mysqladmin -uroot password

进入到mysql里面

mysql升级(从5.6升级到5.7 从5.7升级到8.0))_mysql_04

创建mysql库数据库名为xsh

create database xsh;

创建数据库的表 表名为lh

create table xsh.lh(name char(6),id char(18),primary key(id));

查看表是否创建完毕

mysql升级(从5.6升级到5.7 从5.7升级到8.0))_配置文件_05

往表中插入数据

insert into xsh.lh values ('bob','1111111111111111');

查看表中是否插入数据

mysql升级(从5.6升级到5.7 从5.7升级到8.0))_数据_06

完毕后退出mysql

Exit

Mysql5.6升级到mysql5.7

停止老版本数据库服务

/usr/local/mysql/bin/mysqladmin -uroot -ppwd@123 -S /tmp/mysql.sock shutdown

备份老版本数据库数据

cp -r /usr/local/mysql/data/ /usr/local/mysql_back

解压5.7版本mysql

tar zxf ./mysql-5.7.30-linux-glibc2.12-x86_64.tar.gz -C /usr/src/

切换目录

mv /usr/src/mysql-5.7.30-linux-glibc2.12-x86_64/ /usr/local/mysql5.7

查看 /usr/local/下是否有mysql5.7这个目录

mysql升级(从5.6升级到5.7 从5.7升级到8.0))_数据_07

修改mysql主配置文件

Vim /etc/my.cnf

mysql升级(从5.6升级到5.7 从5.7升级到8.0))_配置文件_08

修改用户所有者

chown -R mysql:mysql /usr/local/mysql5.7/

配置高版本数据库挂载低版本数据

/usr/local/mysql5.7/bin/mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables --skip-networking &

mysql升级(从5.6升级到5.7 从5.7升级到8.0))_配置文件_09

启动高版本mysql

/usr/local/mysql5.7/support-files/mysql.server start

mysql升级(从5.6升级到5.7 从5.7升级到8.0))_数据_10

低版本mysql升级到高版本mysql

/usr/local/mysql5.7/bin/mysql_upgrade -uroot -ppwd@123 -S /tmp/mysql3307.sock –force

mysql升级(从5.6升级到5.7 从5.7升级到8.0))_mysql_11

登陆到高版本mysql查看数据

/usr/local/mysql5.7/bin/mysql -uroot -ppwd@123 -S /tmp/mysql3307.sock

mysql升级(从5.6升级到5.7 从5.7升级到8.0))_mysql_12

查看数据

Select * from xsh.lh;

mysql升级(从5.6升级到5.7 从5.7升级到8.0))_配置文件_13

从mysql5.7升级到8.0

挂载光盘

Mount /dec/cdrom /mnt/

删除CentOS

 Rm -rf /etc/yum.repos.d/CentOS-*

安装依赖

Yum -y install libyaml

mysql升级(从5.6升级到5.7 从5.7升级到8.0))_配置文件_14

解压mysql8.0

tar zxf ./mysql-8.0.32-el7-x86_64.tar.gz -C /usr/src/

切换目录

mv /usr/src/mysql-8.0.32-el7-x86_64/ /usr/local/mysql8.0

停止mysql5.7服务

usr/local/mysql5.7/bin/mysql -uroot -ppwd@123 -S /tmp/mysql3307.sock

set global innodb_fast_shutdown=0;

select @@innodb_fast_shutdown;

mysql升级(从5.6升级到5.7 从5.7升级到8.0))_配置文件_15

shutdown;

exit

修改mysql主配置文件

Vim /etc/my.cnf

mysql升级(从5.6升级到5.7 从5.7升级到8.0))_mysql_16


加载老版本mysql数据库数据

/usr/local/mysql8.0/bin/mysqld_safe --defaults-file=/etc/my.cnf --skip-grant-tables --skip-networking &

重新启动服务

/usr/local/mysql8.0/support-files/mysql.server restart

登录mysql

/usr/local/mysql8.0/bin/mysql -uroot -ppwd@123 -S /tmp/mysql3308.sock

查看数据

select * from xsh.lh;

mysql升级(从5.6升级到5.7 从5.7升级到8.0))_配置文件_17

(这就是mysql升级 从5.6升级到5.7 从5.7升级到8.0)

各位大佬如果有错误的地方请指点出来谢谢