作者:IT邦德
中国DBA联盟(ACDU)成员,10余年DBA工作经验,
Oracle、PostgreSQL ACE
CSDN博客专家及B站知名UP主,全网粉丝10万+
擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复,
安装迁移,性能优化、故障应急处理
微信:jem_db
QQ交流群:587159446
公众号:IT邦德
1.MySQL版本变更
Oracle 每季度发布一次 MySQL 更新,我平时也一直留意的官网的动态,2024年1月16推出了最新的 MySQL 8.3 版本,MySQL大约每2年发布一个新的长期支持版本(如下图蓝色所示),8.4.0 LTS 版本在2024年4月30日已经发布,预计MySQL 9.0将是下一个创新版本。
MySQL发布模型分为两个主要轨道:LTS(长期支持)和创新。所有LTS和Innovation版本都包含错误和安全修复,并被视为生产级质量。

2.MySQ 8.4变更
内容来自:https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/index.html
最醒目的一个变动就是
从 MySQL 8.4.0 开始,mysql_native_password 认证插件默认不再启用。
若要启用,需要在MySQL启动的时候,添加–mysql-native-password=ON 参数;
或在配置文件中设置 mysql_native_password=ON。
MySQL 8.4,还调整了与 InnoDB 存储引擎相关的多个服务器系统变量的默认值
其余的一些变更,大家详细的阅读官网即可
3.MySQ 8.4新版体验
3.1 安装包下载
MySQL的安装方式很多,这里我们通过二进制的方式安装,从官网下载对应的版本即可
https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-8.4.0-1.el8.x86_64.rpm-bundle.tar

3.2 安装依赖
yum -y install lrzsz wget perl-Digest-MD5
yum -y install numactl
yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make
3.3 添加用户及组
[root@rhel8 ~]# groupadd mysql
[root@rhel8 ~]# useradd -g mysql -d /home/mysql mysql
[root@rhel8 ~]# passwd mysql
3.4 安装包上传解压
1.压缩包校验
md5sum mysql-8.4.0-1.el8.x86_64.rpm-bundle.tar
6b75d69b710aac33e610df92b7f60a3b mysql-8.4.0-1.el8.x86_64.rpm-bundle.tar
2.解压
tar -xvf mysql-8.4.0-1.el8.x86_64.rpm-bundle.tar -C /home/mysql/
3.授权
chown -R mysql:mysql /home/mysql/
--说明
mysql-community-common-8.4.0-1.el8.x86_64.rpm
mysql-community-libs-8.4.0-1.el8.x86_64.rpm
mysql-community-client-8.4.0-1.el8.x86_64.rpm
mysql-community-server-8.4.0-1.el8.x86_64.rpm

3.5 正式安装
安装顺序:包之间相互依赖,所以必须注意安装顺序
✓ 先装 common
✓ 再装 libs
✓ 再装 client
✓ 最后装 server
注:root用户下操作
[root@rhel8 ~]# cd /home/mysql
rpm -ivh mysql-community-common-8.4.0-1.el8.x86_64.rpm
rpm -ivh --force --nodeps mysql-community-libs-8.4.0-1.el8.x86_64.rpm
rpm -ivh mysql-community-client-8.4.0-1.el8.x86_64.rpm --force --nodeps
rpm -ivh mysql-community-server-8.4.0-1.el8.x86_64.rpm --force --nodeps
[root@rhel8 mysql]# rpm -qa | grep mysql
mysql-community-client-8.4.0-1.el8.x86_64
mysql-community-libs-8.4.0-1.el8.x86_64
mysql-community-server-8.4.0-1.el8.x86_64
mysql-community-common-8.4.0-1.el8.x86_64

3.6 初始化
[root@rhel8 ~]# mysqld --initialize
--参数文件中新增
echo "mysql_native_password=ON" >> /etc/my.cnf

4.启动 MySQL 服务
4.1 授权启动
1.授权
chown mysql:mysql /var/lib/mysql -R
2.启动服务
systemctl start mysqld
systemctl status mysqld
systemctl enable mysqld

4.2 登陆新增用户
## 临时密码登陆
grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p
## 修改本地用户密码
mysql> alter user root@'localhost' identified with mysql_native_password by 'root';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select Host,User from mysql.user;
+-----------+------------------+
| Host | User |
+-----------+------------------+
| localhost | mysql.infoschema |
| localhost | mysql.session |
| localhost | mysql.sys |
| localhost | root |
+-----------+------------------+
4 rows in set (0.00 sec)
##新增远程登陆
mysql> create user root@'%' identified with mysql_native_password by 'root';
mysql> grant all on *.* to root@'%' with grant option;
mysql> flush privileges;

5.升级说明
在LTS系列中,功能保持不变,数据格式不变,因此可以在LTS系列内进行就地升级和降级。
例如,MySQL 8.4.0可以升级到更高版本的MySQL 8.4.x。还提供了其他升级和降级方法,例如克隆插件。
支持升级到下一个LTS系列,如8.4.x LTS到9.7.x LTS,而不支持跳过LTS系列。例如,8.4.x LTS不能跳过9.7.x LTS直接升级到10.7.x LTS。
最后修改时间:2024-04-30 17:16:48
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




