日志文件记录了MySQL数据库的各种类型的活动,MySQL数据库中常见的日志文件有 查询日志,慢查询日志,错误日志,二进制日志,中继日志 ,事务日志。
想要使配置永久生效需将内容写入配置文件中:/etc/my.cnf.d/server.cnf
一、查询日志
查询日志在mysql中称为general log(通用日志),查询日志记录了数据库执行的命令,不管这些语句是否正确,都会被记录。由于数据库操作命令有可能非常多而且执行比较频繁,所以开启了查询日志以后,数据库可能需要不停的写入查询日志,这样会增大服务器的IO压力,增加很多系统开销,影响数据库的性能,所以默认情况下是关闭的,也不建议开启。
存储查询日志的方式:
方式1:将查询日志存放于指定的日志文件中;
方式2:将查询日志存放于mysql.general_log表中;
方式3:将查询日志同时存放于指定的日志文件与mysql库的general_log表中。
1、查看查询日志的相关参数
MariaDB [mysql]> show global variables like '%gen%log%'; +------------------+----------+ | Variable_name | Value | +------------------+----------+ | general_log | OFF | | general_log_file | ren7.log | +------------------+----------+ 2 rows in set (0.00 sec) MariaDB [mysql]> show variables where variable_name like '%general_log%' or variable_name='log_output'; +------------------+----------+ | Variable_name | Value | +------------------+----------+ | general_log | OFF | | general_log_file | ren7.log | | log_output | FILE | +------------------+----------+ 3 rows in set (0.00 sec)
2、查询日志变量详解
1 general_log: 指定是否开启查询日志(ON表示开启,OFF表示未开启,默认OFF) 2 general_log_file: 当log_output设置为“FILE”时,指定将查询日志保存成哪个文件、叫什么名,默认与主机名相同,一般位于/var/lib/mysql目录下 3 log_output: 指定将记录到的查询保存到什么位置(“NONE”、“FILE”、“TABLE”、“FILE,TABLE”) 4 file: 保存成一个文件 5 table: 保存成一张表 6 none: 不记录