Mysql日志开启

Posted 慕書

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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日志

以上是关于Mysql日志开启的主要内容,如果未能解决你的问题,请参考以下文章

mysql怎么开启慢查询日志开启

mysql怎么开启慢查询日志开启

如何开启MySQL慢查询日志

mysql日志开启和查看

MySQL 开启慢查询日志与普通日志

Mysql日志开启