错误日志
常规查询日志
慢查询日志
慢查询日志用于记录运行时间比较长的SQL语句,可以通过参数long_query_time来设置该阀值。默认情况下,MySQL并不启动慢查询日志,可以通过设置log_slow_queries为ON启动它。
另一个和慢查询日志相关的参数是log_queries_not_using_indexes,该参数为ON表示如果运行的SQL语句没有使用索引,就将其记录到慢查询日志中。
慢查询日志主要用于协助DBA进行SQL语句的优化,可以使用mysqldumslow工具对它的内容进行汇总。
二进制日志
二进制日志记录了所有数据库的更改操作(SELECT和SHOW不包含在里面),二进制文件在默认情况下没有启动,需要手动指定参数启动。
二进制日志主要有以下两个作用:
1)恢复(recovery):当一个数据库从全备文件恢复后,我们可以通过二进制日志进行point-in-time恢复。
2)复制(replication):可以利用它实行从数据库的实时同步。
开启二进制文件会影响性能(根据官方文档显示,开启二进制文件使得数据库性能下降1%左右),但考虑到它带来的好处,这些性能损失还是可以接受的,所以一般建议开启它。
顾名思义,二进制日志采用二进制格式记录,因此必须使用mysqlbinlog工具读取它。
二进制日志的默认名为hostname-bin.xxxxx,其中结尾是5个数字的顺序编号。
如果启用了二进制日志,则默认有一个和它配套的索引文件,默认的索引名为hostname-bin.index。
二进制日志里记载的事件可以基于语句或基于数据行的格式(有binlog_format参数设置,允许使用的值有ROW,STATEMENT和MIXED),默认值为MIXED,其含义是以给予数据行格式为主,只在确有必要时才使用基于语句的格式。
中继日志
中继日志是指复制机制中的从服务器把来自主服务器的二进制日志写入一个临时收容所,因此它的结构和格式和二进制日志一样,也有一个与之配置的索引文件,这里就不再累述。