除了bin log, 其余日志都是文本文件
  默认情况只启用错误日志err log, 其他3类日志都需要数据库管理员进行设置
  如果MySQL数据库系统意外停止服务, 可以通过错误日志查看出现错误的原因。并且可以通过bin log文件来查看用户执行了哪些操作,对数据库文件做了哪些修改。然后,可以根据bin log中的记录来修复数据库
  但是, 启动log功能会降低MySQL数据库的执行速度. 例如, 一个查询操作比较频繁的MySQL中, 记录通用查询日志和慢查询日志要花费
  很多的时间. 并且, log文件会占用大量的硬盘空间. 对于用户量非常大, 操作非常频繁的数据库, 日志文件需要的存储空间甚至比数
  据库文件需要的存储空间还要大.
  二进制日志(bin log)
  也叫update log, 主要用于记录数据库的变化情况. 通过bin log可以查询MySQL数据库进行了哪些改变.
  启动和设置bin log
  # my.cnf
  [mysqld]
  log-bin [=DIR [filename]]
  DIR: 指定bin log的存储路径
  filename: 指定bin log的文件名, 其形式为filename.number, 例如filename.000001, filename.000002等. 每次重启MySQL服务, 都会生成一个新的bin log文件. 这些bin log文件的'number'会不断递增. 除了生成上述文件外, 还会生成一个名为filename.index的文件.
  这个文件中存储所有bin log文件的清单.
  如果没有指定DIR, filename, bin log将默认存储在数据库的数据目录下, 默认的文件名为hostname-bin.number, 其中hostname为主机名.
  bin log与数据库的数据文件好不要放在同一块硬盘上. 即使数据文件所在的硬盘被破坏, 也可以使用另一块硬盘上的bin log来回复数
  据文件. 两块硬盘同时坏了的可能性要小得多. 这样可以保证数据库中数据的安全.
  查看bin log
  mysqlbinlog filename.number
  使用bin log来还原数据库
  mysqlbinlog filename.number | mysql -u root -p
  注意, 编号(number)小的文件开始还原
  mysqlbinlog mylog.00001 | mysql -u root -p
  mysqlbinlog mylog.00002 | mysql -u root -p
  mysqlbinlog mylog.00003 | mysql -u root -p
  mysqlbinlog mylog.00004 | mysql -u root -p
  暂停和重启bin log功能
  SET SQL_LOG_BIN=0; # 暂停
  SET SQL_LOG_BIN=1; # 重新启用
  错误日志(error log)
  err log是默认开启的, 并且无法被禁止. 默认存储路径为数据库的数据文件夹. 文件名通常为hostname.err.
  存储路径可以通过 log-error选项来设置
  # my.cnf
  [mysqld]
  log-error=DIR [/ filename]
  通用查询日志
  通用查询日志是用来记录用户的所有操作, 包括启动和关闭MySQL服务, 更新语句和查询语句等.
  默认文件名为hostname.log, 默认存储路径为数据库的数据文件夹.
  默认情况下, 通用查询日志功能是关闭的. 可以通过下面方式设置开启
  # my.cnf
  [mysqld]
  log [=DIR [filename]]
  慢查询日志
  慢查询日志是用来记录执行时间超过指定时间的查询语句. 通过慢查询日志, 可以查找出哪些查询语句的执行效率很低, 以便进行优化.
  默认该日志是关闭的。默认存储路径为数据库的数据文件夹, 默认文件名为hostname-slow.log
  # my.cnf
  [mysqld]
  log-slow-queries [=DIR [filename]]
  long_query_time=n
  # 执行时间超过n秒的语句会被记录下来, n不设置的话, 默认是10s