Java开发学习总结:MySQL日志知识汇总

一个优秀的Java后端开发工程师一定要掌握MySQL数据库,而日志文件记录了影响MySQL数据库的各种类型活动,因此也成为其必须要掌握的知识。今天小编就给大家介绍MySQL数据库中常见的日志文件。

MySQL数据库中常见的日志文件有错误日志、二进制日志、慢查询日志和查询日志。

错误日志

错误日志文件对MySQL的启动、运行、关闭过程进行了记录。比如:

mysql> show variables like ‘log_error’;

±--------------±--------------------+

| Variable_name | Value |

±--------------±--------------------+

| log_error | /var/log/mysqld.log |

±--------------±--------------------+

1 row in set (0.03 sec)

可以看到错误日志的路径和文件名,默认情况下错误文件的文件名为服务器的主机名,即:hostname.err。当出现MySQL数据库不能正常启动时,第一个必须查找的文件就是错误日志文件,该文件记录了出错信息,能够帮助我们找到问题。

二进制日志

二进制日志记录了对数据库执行更改的所有操作,但是不包括select和show这类操作,因为这类操作对数据本身并没有修改,如果你还想记录select和show操作,那只能使用查询日志了,而不是二进制日志。

此外,二进制还包括了执行数据库更改操作的时间和执行时间等信息。二进制日志主要作用有:恢复(recovery)、复制(replication)、审计(audit),你可以通过配置参数 log-bin[=name] 可以启动二进制日志。如果不指定name,则默认二进制日志文件名为主机名,后缀名为二进制日志的序列号。

慢查询日志

慢查询日志用来记录响应时间超过阈值的SQL语句,所以我们可以设置一个阈值,将运行时间超过该值的所有SQL语句都记录到慢查询日志文件中。该阈值可以通过参数long_query_time来设置,默认为10秒。慢查询日志分析工具包括mysqldumpslow命令、pt-query-digest工具。

查询日志

查看日志记录了所有对MySQL数据库请求的信息,不论这些请求是否得到了正确的执行。默认为主机名.log。默认情况下不启动查询日志,必须要先开启。参考代码:

mysql> set global general_log=‘ON’;

Query OK, 0 rows affected (0.05 sec)

mysql> show variables like “general_log%”;

±-----------------±-------------------------------------------+

| Variable_name | Value |

±-----------------±-------------------------------------------+

| general_log | ON |

| general_log_file | /var/lib/mysql/iz2zeaf3cg1099kiidi06mz.log |

±-----------------±-------------------------------------------+

2 rows in set (0.11 sec)

发布了673 篇原创文章 · 获赞 99 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qf2019/article/details/104036726