前言
系统被扫描出mysql漏洞了,无一例外,都是提示现mysql版本太低,存在安全漏洞。所以要升级到最新版本。
一、备份数据并停止MySql
1.备份数据
首先呢我们执行一下备份命令:
mysqldump -uroot -p123456 --all-databases > /home/bak_database.sql
执行完毕之后,我们就在home目录得到了bak_database.sql文件,可以把备份文件下载到电脑上。
2.停止MySql
systemctl stop mysqld
二、卸载旧版版的MySql
使用以下两条命令进行卸载
rpm -e --nodeps `rpm -qa | grep mysql`
yum remove mysql mysql-*
执行完毕后,使用mysql命令验证是否卸载成功。
提示未找到命令,则说明卸载成功。
三、上传并安装新版本MySql。
1.自己准备好下面几个安装包,并且上传到服务器。
2.执行下面的安装语句更新的版本修改rpm包
rpm -ivh --nodeps --force mysql-community-common-5.7.43-1.el7.x86_64.rpm
rpm -ivh --nodeps --force mysql-community-libs-5.7.43-1.el7.x86_64.rpm
rpm -ivh --nodeps --force mysql-community-client-5.7.43-1.el7.x86_64.rpm
rpm -ivh --nodeps --force mysql-community-server-5.7.43-1.el7.x86_64.rpm
rpm -ivh --nodeps --force mysql-community-devel-5.7.43-1.el7.x86_64.rpm
3.把mysql的datadir数据目录备份。
mv /var/lib/mysql /var/lib/mysql_back
4.初始化mysql并启动重启
mysqld --initialize-insecure --user=mysql
systemctl start mysqld
systemctl restart mysqld
5.添加用户,并且赋予远程登录权限。
mysql -e "grant all privileges on *.* to 'user'@'%' identified by '123456';"
mysql -e "grant all privileges on *.* to 'user'@'127.0.0.1' identified by '123456';"
四、导入备份好的旧数据。
mysql < /home/bak_database.sql
使用mysql命令检查安装是否成功。