MySQL日志
日志分类
错误日志:记录MySQL服务的启动、运行、停止MySQL服务时出现的问题 error log
查询日志:记录建立的客户端连接和执行的语句 gerenal log
二进制日志:记录所有更改数据的语句,可以用来复制数据 binary log
慢查询日志:记录所有执行时间超过long_query_time的所有查询和不适用索引的查询 slow log
二进制日志
二进制日志就是我们通常所说的binlog,主要记录MySQL数据库的变化。
二进制日志以一种有效的格式,并且是事务安全的方式更新日志中可用的所有信息。
二进制日志包含关于每个更新数据库的语句的执行时间信息,但不包含没有修改任何数据的语句。
二进制日志的最大目的是最大可能的恢复数据库,因为二进制日志包含备份后进行的所有更新。
错误日志
错误日志文件包含了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。
在MYSQL中,错误日志也是非常重要的,mysql将启动和停止数据库信息以及一些错误信息记录到错误日志中。
慢查询日志
慢查询日志是记录查询时长超过指定时间的日。慢查询日志主要用来记录执行时间较长的查询语句。
通过慢查询日志,可以找出执行时间较长、执行效率较低的语句,然后进行优化。
查询日志
通用查询日志记录了mysql的所有用户操作,包括启动和关闭服务、执行查询和更新语句等。
常见操作
刷新日志:
- 强制MySQL关闭和重新打开日志文件
- 执行flush logs语句
- 执行mysqladmin flush-logs语句
- 执行mysqladmin reflush语句
是否启用了日志:
mysql>show variables like 'log_%';
怎样知道当前的日志:
mysql> show master status;
看二进制日志文件用mysqlbinlog:
shell>mysqlbinlog mail-bin.000001
实践地址
日志的时间例子可参考链接: