MySQL5.7升级到MySQL8(离线安装升级)

MySQL5.7的安装见此文章:

MySQL5.7版本Liunx系统下安装_大宇进阶之路的博客-CSDN博客

现在最新的mysql8版本安装包,MySQL软件下载官网:

MySQL :: Download MySQL Community Server (Archived Versions)

安装mysql查看服务器环境是否满足:

MySQL5.7升级到MySQL8(离线安装升级)_第1张图片

 最新的Redhat8不支持mysql5.7版本,redhat6 7 对mysql8和5.7都支持


解压mysql8安装包:

tar -xvf mysql-8.0.28-linux-glibc2.12-x86_64.tar

继续解压包 

tar xvJf mysql-8.0.28-linux-glibc2.12-x86_64.tar.xz

并更改名称为mysql8,放到原先mysql5.7的目录下

mv mysql-8.0.28-linux-glibc2.12-x86_64  mysql8

更改mysql8的目录权限:

chown -R mysql:mysql mysql8

 MySQL5.7升级到MySQL8(离线安装升级)_第2张图片

修改vim /etc/my.cnf配置文件

尾部增加配置:

character-set-server = utf8
collation_server = utf8_general_ci
basedir = /home/mysql/mysql8
skip_ssl
default_authentication_plugin=mysql_native_password

MySQL5.7升级到MySQL8(离线安装升级)_第3张图片

sql_mode支持问题。8.0版本sql_mode不支持NO_AUTO_CREATE_USER,要避免配置的sql_mode中带有NO_AUTO_CREATE_USER 

登录mysql:

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.24    |
+-----------+
1 row in set (0.00 sec)

mysql> show variables like 'innodb_fast_shutdown';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| innodb_fast_shutdown | 1     |
+----------------------+-------+
1 row in set (0.01 sec)

# 确保数据都刷到硬盘上,更改成0

mysql> set global innodb_fast_shutdown=0;
Query OK, 0 rows affected (0.00 sec)

mysql> shutdown;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
[root@VM-24-9-centos mysql]#

使用安全模式启动mysql8.0,正常启动后可以进入到mysql命令行

 ./mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &

如果关闭mysql,除了强制的kill进程命令外,可以使用以下命令:

./mysqladmin -u root -p  shutdown

也可以修改mysql8目录/mysql8/support-files下的mysql.server文件

更改这5处路径:

MySQL5.7升级到MySQL8(离线安装升级)_第4张图片

这样也可以用./mysql.server start和./mysql.server stop来启动和停止。

 我这里查看到mysql8的服务器没有启动起来,查看日志是my.cnf里的sql_mode设置问题

MySQL5.7升级到MySQL8(离线安装升级)_第5张图片

 修改后重启成功。

注释:mysqld_safe与mysqld区别,直接运行mysqld程序来启动MySQL服务的方法很少见,mysqld_safe脚本会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。

用mysqld_safe脚本来启动MySQL服务器的做法在BSD风格的unix系统上很常见,非BSD风格的UNIX系统中的 mysql.server脚本其实也是调用mysqld_safe脚本去启动MySQL服务器的。
 

登录查看版本。

mysql -u root -p

​​​​​​​MySQL5.7升级到MySQL8(离线安装升级)_第6张图片

PS:在my.cnf中设置了跳过ssl属性,但是查看还是开启状态

mysql> SHOW VARIABLES LIKE '%ssl%';

MySQL5.7升级到MySQL8(离线安装升级)_第7张图片

需要把在末尾添加的skip_ssl放到开头,然后重启即可!!!

MySQL5.7升级到MySQL8(离线安装升级)_第8张图片

MySQL5.7升级到MySQL8(离线安装升级)_第9张图片

MySQL8 修改密码:

alter user 'root'@'%' identified with mysql_native_password by 'root';

参考文章:

​​​​​​MySQL 5.7升级到8.0详细过程_位步的博客-CSDN博客_mysql5.7升级到8.0

mysql从5.7平滑升级到8.0.27_皮皮虾不皮呀的博客-CSDN博客_mysql 平滑升级

你可能感兴趣的:(数据库,mysql,数据库,database)