当前位置:首页 > MySQL
MySQL 日志文件的使用及其安全加固
来源:靑龍一笑的博客  作者:靑龍一笑  发布时间:2017-10-23 19:22:23  点击量:1018  评论:0

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

版权所有 © 2005-2023 靑龍一笑的博客  Powered by C.S.Ricen
Copyright © 2005-2023 by www.ricensoftwares.com.cn  All Rights Reserved.

欢迎光临本站,这里是靑龍一笑的博客。

因资金匮乏,本站已迁到国外的免费空间,可能导致本站的访问速度较慢,由此给您带来的不便,敬请谅解。

您可以通过下方的“支持本站建设”链接,给本站提供资金支持。

Free Web Hosting