在操作系统为centos的生产环境服务器需要进行等保2.0评测,使用绿盟科技的扫描软件扫描后检测出一大批漏洞,因此需要进行漏洞修复虽然报告中有一大堆的漏洞,但是细分下来分为mysql数据库方面
Mysql的漏洞可直接通过升级Mysql最新版本解决,以下通过模拟Mysql低版本5.7.28到高版本5.7.31的升级做演示
安装版本1.官网获取的包.2.上传到Centos7中的/opt路径3.编写一键安装脚本_包位置【LookingforthelatestGAversion?】选择第一个500多MB的tar包echo"================================"echo"正在卸载Mysql"echo"======================================"rpm-e$(rpm-qa|grep-imysql)--nodepsrpm-e$(rpm-qa|grep-imaria)--nodepsrpm-e$(rpm-qa|grep-ipostfix)--nodepsecho"================================"echo"正在安装Mysql"echo"======================================"_64._64._64._64._64._64._64._64.rpmecho"=========Mysql安装成功============================="systemctlstartmysqldsystemctlenablemysqldnetstat-anp|grep3306cat/var/log/|grep'temporarypassword'echo"第一次登陆修改root密码的语句是:"echo"ALTERUSER'root'@'localhost'IDENTIFIEDWITHmysql_native_passwordBY'1qe3!QE'withgrantoption;"'withgrantoption;echo"创建新用户"4.执行脚本
_5.登陆数据库并修改账号密码
mysql-uroot-p';'withgrantoption;不加的话使用本地的mysql命令登陆会报错7.修改数据库配置,与生产环境一致datadir=/data_lvm/mysqlsocket=/var/lib/mysql/szydneedtosetsql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIONcharacter-set-server=utf8mb4collation-server=utf8mb4_general_cilower_case_table_names=1WO-19sermax_connectionmax_connections=1000startbin-loginit-connect=(id,time,localname,matchname)values(connection_id(),now(),user(),current_user())log_bin=/data_lvm/mysqllog/mysql_binbinlog-format=Rowserver-id=1log-bin-trust-function-creators=1setslowslow_query_log=onslow_query_log_file=/var/lib/mysql/_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION8.同步数据备份Mysql备份的目的是避免数据丢失,一定要备份好才接下来操作。
备份配置
逻辑备份
物理备份(数据卷,日志)
查看/etc/,然后进行备份/etc/和Mysql存储目录(生产环境任何操作一定要先备份,在操作)
1.备份配置文件cp/etc//home/cgt/mysqlbak/2.备份逻辑文件业务库备份3.停机后备份完整的数据文件systemctlstopmsyqld数据卷归档升级Mysql到5.7.311.获取最新版本根据自己的操作系统和位数进行选择,这里是Centos764位。
2.上传tar包到centos7的/opt目录3.编写Mysql一键升级脚本_
rpm包安装的服务使用rpm-Uvh升级_64._64._64._64._64._64._64.rpm重新启动Mysql并查询进程systemctlrestartmysqldnetstat-anp|grep33064.执行脚本,一键更新_5.升级Mysql系统表mysql_upgrade-uroot-p-s参数是仅升级系统表的意思,避免数据库升级后无法打开一些系统表6.登陆数据库验证mysql-uroot-p这个时候,完成Mysql的版本更新,漏洞也随之消失了。
7.开启应用并检查