PS:之前在做安全测试的时候,报告mysql有安全漏洞,于是研究了下如何修复,于是记录下来分享给大家
1.1修改mysql 存放位置 修复
1.停服务
service mysqld stop
2.迁位置
2.1 新建迁移目录
mkdir /home/database
2.2 迁移数据文件
cp -a -r /var/lib/mysql /home/database/
3修改配置文件
vi /etc/my.cnf
datadir=/home/database/mysql
socket=/home/database/mysql/mysql.sock[client]
socket = /home/database/mysql/mysql.sock
重启
service mysqld start
查询路径
show variables where variable_name = 'datadir';
1.3 修复
禁止使用命令行历史记录
Linux系统:
执行如下命令:
find / -name ".mysql_history"
查看是否存在mysql的历史命令记录文件,如果存在,则需要进行如下加固:
(1)删除.mysql_history文件;
(2)设置环境变量MYSQL_HISTFILE为/dev/null,并添加到shell的初始化脚本中,创建mysql_history到/dev/null的链接:ln -s /dev/null $HOME/.mysql_history
1.2禁止 Mysql 以管理员帐号权限运行 修复
禁止 Mysql 以管理员帐号权限运行
以普通帐户安全运行 mysqld,禁止以管理员帐号权限运行 MySQL 服务。在 /etc/my.cnf 配置文件中进行以下设置
user=mysql
6.2 更改 bin-log位置
vi /etc/my.conf
server-id=123454
log-bin=/home/database/mysqlbinlog/mysql-bin
service mysqld start