PS:之前在做安全测试的时候,报告mysql有安全漏洞,于是研究了下如何修复,于是记录下来分享给大家
service mysqld stop
mkdir /home/database
cp -a -r /var/lib/mysql /home/database/
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';

禁止使用命令行历史记录
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
以普通帐户安全运行 mysqld,禁止以管理员帐号权限运行 MySQL 服务。在 /etc/my.cnf 配置文件中进行以下设置
user=mysql
vi /etc/my.conf
server-id=123454
log-bin=/home/database/mysqlbinlog/mysql-bin
service mysqld start
