准备要更新的MySQL安装包,下载地址:MySQL :: Download MySQL Community Server
查看当前MySQL版本
备份数据库
mysqldump -uroot -p -B > /opt/backup/20231220_mysql.sql
检查备份文件
查看所有服务项:
service --status-all
可以看到我们注册的MySQL服务是mysqld
停止MySQL服务
service mysqld stop
备份配置文件和数据库文件:
cp -rf /etc/my.cnf /etc/my8_0_34.cnf
cp -rf /var/lib/mysql/ /var/lib/mysql_8.0.34/
查看MySQL安装情况
rpm -qa|grep -i mysql
rpm卸载, 从下往上挨个删除
rpm -e mysql-community-server-8.0.34-1.el6.x86_64
注: 删除mysql-community-libs-8.0.34-1.el6.x86_64会提示无法删除:
只需在指令中添加--nodeps参数即可
rpm -e --nodeps mysql-community-libs-8.0.34-1.el6.x86_64
最后验证删除是否完成
删除冗余项:
whereis mysql
将其全部删除
将安装包拷贝至服务器/software目录下
按照common > client-plugins > libs > client > icu-data > server 顺序挨个安装rpm文件
rpm -ivh /software/mysql-community-common-8.0.35-1.el6.x86_64.rpm
安装完成后删除/etc/my.cnf, 将之前配置文件改名
将配置文件中skip-grant-tables去掉注释
启动MySQL服务
service mysqld start
登录数据库, 不需要密码
mysql -u root -p
切换至user数据库
use mysql;
查看当前用户信息
select host, user, authentication_string from user;
将root密码设为空
update user set authentication_string = '' where user = 'root';
刷新配置
flush privileges;
退出,并关闭MySQL服务, 将skip-grant-tables重新添加注释后启动服务,并访问数据库,此时不需要输入密码直接回车
修改密码,并刷新配置
alter user root@'%' identified by '123456';
flush privileges;
查看版本情况: