前言:

今天处理漏洞,好多都是关于Mysql数据库的,解决方法都是打补丁,一个补丁一个补丁打起来比较麻烦且下载补丁也比较麻烦。
后来我发现所有的漏洞的一个特点,只要把数据库升级到8.0.22及以上版本就可以全部解决掉。[来自于博主的暗自高兴]
后来博主查阅了官网及好多资料,发现好多原地升级的教程、但都是模模糊糊,于是博主决定采用最笨的办法,那就是:把目前版本的数据库删除掉,然后再装8.22版本的数据库。[来自于博主的无奈]
由于处理漏洞比较匆忙,没有留下截图只要文字。[来自于博主的抱歉]

一、备份原来的数据库

一定一定一定要备份原来的数据库。
一定一定一定要备份原来的数据库。
一定一定一定要备份原来的数据库。
(重要的事情说三遍)

二、删除原来的数据库

1、检查系统版本以及位数:

检查版本命令:cat /etc/system-release
检查位数命令:uname -a

2、检查是否安装了 mysql

rpm检查命令:rpm -qa mysql*
yum检查命令:yum list mysql*

3、删除旧数据版本

(已安装需要卸载干净)
yum卸载命令:yum remove mysql*(选择Y)
rpm卸载命令:rpm -e mysql*(如果报错则删除干净)

4、检查是否存在mariadb数据库

命令:rpm -qa | grep mariadb
(如果存在一定要卸载掉,否则可能与 mysql 产生冲突。)
卸载命令:
rpm -e --nodeps mariadb-5.5.52-1.el7.x86_64
rpm -e --nodeps mariadb-server-5.5.52-1.el7.x86_64
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

5、找到以前的数据库以及日志

数据库一般位置:在/var/lib/目录下的mysql文档。
日志的一般位置:在/var/log/目录下的mysql.log文档。
博主这里建议进行备份一下再删除

三、安装新数据库

1、下载数据库安装包8.0.22版本

官网:https://dev.mysql/downloads/mysql/

2、上传数据库安装包

根据自己服务器的实际情况上传安装包,博主这里上传到/home/admin/mysql目录下

3、解压安装包

命令:tar -xvf 安装包名称
(会得到rpm包)

4、使用rpm方式安装

命令:rpm -ivh 文件名

5、查询默认密码

命令:cat /var/log/mysqld.log | grep password

6、查看状态并启动数据库

查看命令:systemctl status mysqld
启动命令:systemctl start mysqld

7、登录数据库

命令:mysql -u root -p
(密码是上面查询的默认初始化密码)

8、修改配置

mysql> set global validate_password.policy=0;
mysql> set global validate_password.length=1;
mysql> alter user 'root'@'localhost' identified by '123456';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit

9、选择数据库

命令:use mysql

10、查看用户可用ip

命令:select user,host,authentication_string,plugin from user;

11、更改root用户host权限,数据库刚安装默认是只允许localhost本地连接sql :

命令:update user set host = ‘%’ where user =‘root’;

12、 刷新:

命令:flush privileges;

13、执行sql 修改远程访问,以及密码

mysql>ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 	'1234@';

14、修改group by 查询限制问题
① 查询group by 权限配置

命令:select @@global.sql_mode;

②修改配置文件

命令:
set@@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';

备注:

由于处理漏洞时间较紧,所以没有截图,只要文字;而且方法比较笨,但是比较通俗易懂;有需要的小伙伴可以参考。

结束语

  • 记录生活,分享知识!
  • 本人还在不断学习中,如有问题可留言交流学习!

更多推荐

linux系统升级Mysql数据库8.0.17到8.0.22(笨方法)完整教程