mysql日志安全_MySQL 日志文件的使用及其安全加固

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 表中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值