1、禁止使用 mysql 命令行历史记录
一般情况下,mysql 的历史记录文件存在于用户的家目录下,即 $HOME/.mysql_history
root@RicenOS:~# rm -rf $HOME/.mysql_history
设置环境变量:MYSQL_HISTFILE=/dev/null,创建 mysql 的历史记录文件到 /dev/null 的链接:
root@RicenOS:~# ln -s /dev/null $HOME/.mysql_history
2、设置数据目录的访问权限
查看数据目录存放位置的命令如下:
mysql> show variables where variable_name = 'datadir';
修改数据目录的权限为:700,所有者和所属组均为 mysql。
3、确认二进制日志文件的权限
查看二进制日志文件存放位置的命令如下:
mysql> show variables like 'log_bin_basename';
确保其权限为:660,所有者和所属组均为 mysql。
4、确认错误日志文件的权限
查看错误日志文件存放位置的命令如下:
mysql> show variables like 'log_error';
确保其权限为:660,所有者和所属组均为 mysql。
5、确认慢查询日志文件的权限
查看慢查询日志配置情况:
mysql> show variables like "%slow_query%";
开启慢查询的方法:
修改 mysql 的配置文件 /etc/my.cnf,在“[mysqld]”项下加入以下三行:
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 5 # 单位是秒
确保慢查询日志文件的权限为:660,所有者和所属组均为 mysql。
注意:打开慢查询日志可能会对系统性能有一点影响,慢查询日志只是记录了哪些语句慢,原因还得自己去分析。
6、确认通用日志文件的权限
查看通用日志配置情况:
mysql> show variables like '%general_log%';
开启通用日志的方法:
修改 mysql 的配置文件 /etc/my.cnf,在“[mysqld]”项下加入以下三行:
log_output = TABLE
general_log = ON
general_log_file = /usr/local/mysql/data/mysqld.log
其中,“log_output”默认为“FILE”,即将用户操作记录到“general_log_file”所指定的通用日志文件中,确保其权限为:660,所有者和所属组均为 mysql。如果将“log_output”设置为“TABLE”,则将用户操作输出到表中,不会保存到“general_log_file”所指定的通用日志文件中。
对于输出为表方式,用户操作被记录到 mysql.general_log 表中。