Mysql日志开启
一、功能general log开启
前言
Mysql开启会影响数据库的性能,但是在等级保护中,则是必须开启Mysql日志审计的,general log日志记录的内容有:时间、用户、SQL语句
从MySQL5.1.6版开始,general query log和slow query 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
3.方式三:将日志保存在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
或
sudo service mysql restart
成功开启log_bin日志