MySQL日志
记录MySQL数据库运行期间的日常操作、客户端连接情况、SQL语句的执行情况和错误信息的文件。当数据库遭到意外损害时,可通过日志文件来查询出错原因,可通过日志文件进行数据恢复。
例如,一个名为huang的用户登录到MySQL服务器。日志中就会记录这个用户的登录时间、执行的
操作等,如果出现异常,异常信息也会被记录到日志文件中。
MySQL日志分为4种,分别是二进制日志、错误日志、通用查询日志、慢查询日志。
- 二进制日志:以二进制文件的形式记录了数据库中的操作,但不记录查询语句。
- 错误日志:记录MySQL服务器的启动、关闭和运行错误等信息。
- 通用查询日志:记录用户登录和记录查询的信息。
慢查询日志:记录执行时间超过指定时间的操作。
除二进制日志外,其他日志都是文本文件。日志文件通常存储在MySQL数据库的数据 目录下。默认情况下,只启动了错误日志的功能。其他3类日志都需要数据库管理员 进行设置。
如果数据库系统意外停止服务,可通过错误日志查看出现错误的原因。并且,可通过二
进制日志文件来查看用户执行了哪些操作、对数据库文件做了哪些修改。然后,可以
根据二进制日志中的记录来修复数据库。
但是,启动日志功能,会降低MySQL数据库的执行速度。例如,一个查询操作比较频繁
的MySQL中,记录通用查询日志和慢查询日志要花费很多的时间。并且,**日志文件会占
用大量的磁盘空间**。对于用户量比较打、操作非常频繁的数据库,日志文件需要的存储
空间甚至比数据库文件需要的存储空间还要大。
二进制日志(变更日志)
记录数据库的变化情况 (可查询数据库进行了哪些改变)
1.启动和设置二进制日志
**默认情况下,二进制日志功能是关闭的**。
通过my.cnf(Linux下)或my.ini(Windows下)文件的log-bin选项可以开启二进制日志。
将log-bin选项加入到my.cnf或者my.ini文件的[mysqld]中,如下:
#my.cnf(Linux操作系统下)或者my.ini(Windows下)
[mysqld]
log-bin