mysql5.7添加审计
时间: 2023-07-03 16:30:08 浏览: 109
在 MySQL 5.7 中,可以通过以下步骤来启用审计:
1. 打开 MySQL 配置文件 my.cnf,在 [mysqld] 下添加以下配置项:
```
[mysqld]
# 启用审计
audit_log=ON
# 审计日志文件路径和文件名
audit_log_file=/var/log/mysql/mysql-audit.log
# 审计日志格式
audit_log_format=JSON
```
2. 重启 MySQL 服务。
3. 使用以下语句创建审计日志表:
```
CREATE TABLE mysql.audit_log (
event_time TIMESTAMP(6) NOT NULL
DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
server_host VARCHAR(255) NOT NULL,
server_user VARCHAR(255),
log_level VARCHAR(255),
thread_id BIGINT(20) UNSIGNED NOT NULL,
server_id INT UNSIGNED NOT NULL,
command_class VARCHAR(64) NOT NULL,
command_text TEXT NOT NULL,
argument TEXT,
affected_rows BIGINT,
sql_mode VARCHAR(8192),
user_variables TEXT,
server_variables TEXT,
server_version VARCHAR(255),
client_host VARCHAR(255),
client_user VARCHAR(255),
client_port INT UNSIGNED,
connection_id BIGINT UNSIGNED,
proxy_user VARCHAR(255),
proxy_host VARCHAR(255),
proxy_port INT UNSIGNED,
ssl_cipher VARCHAR(255),
x509_issuer VARCHAR(255),
x509_subject VARCHAR(255),
authentication_type VARCHAR(80),
query_id BIGINT UNSIGNED
) ENGINE=ROCKSDB;
```
4. 现在,MySQL 会将所有的审计事件写入指定的审计日志文件中。可以使用以下语句查询审计日志:
```
SELECT * FROM mysql.audit_log;
```
需要注意的是,启用审计会增加系统开销,因此在生产环境中需要谨慎使用。同时,审计日志中可能包含敏感信息,需要妥善保管和处理。
阅读全文