Mysql日志开启
前言
Mysql开启会影响数据库的性能,但是在等级保护中,则是必须开启Mysql日志审计的,general log日志记录的内容有:时间、用户、SQL语句
从MySQL5.1.6版开始,general query log和slow query log开始支持写到文件或者数据库表两种方式。
一、功能general log开启
1.方式一:更改my.cnf配置文件
添加以下:
grep general_log /etc/my.cnf
general_log = 1
general_log_file = /tmp/general.log
重新启动mysql,这个操作相当于是永久生效。
2.方式二:在mysql命令控制台操作
- 需要root用户才有访问此文件的权限
- 查看状态
show global variables like '%general%';
-- 输出:general_log | OFF 默认是关闭的
- 设置日志文件保存位置
- set global general_log_file='/tmp/general_log';
- 开启日志功能
- set global general_log=on;
- 查看状态
- show global variables like '%general%';
- 输出:general_log | ON
1.方式三:将日志保存在mysql数据库general_log表中
- 设置输出类型为 table
- set global log_output='table';
- 开启日志功能
set global general_log=on;
- 切换到数据库:mysql
use mysql;
- 设置输出类型为 table
select * from general_log;
二、命令总结
# 查看日志是否开启
show variables like 'general_log';
# 查看日志输出类型 table或file
show variables like 'log_output';
# 查看日志文件保存位置
show variables like 'general_log_file';
# 设置日志文件保存位置
set global general_log_file='/tmp/general_log';
# 开启日志功能
set global general_log=on;
# 设置输出类型为 table
set global log_output='table';
# 设置输出类型为file
set global log_output='file';
三、关闭
SET GLOBAL general_log = 'OFF';
四、开启log_bin 日志
1.方式一:更改my.cnf配置文件
log-bin=mysql
server-id=1
- 重启 service mysqld restart
- 成功开启log_bin日志