【Mysql 学习】Mysql 日志(一)

  1. 云栖社区>
  2. 博客>
  3. 正文

【Mysql 学习】Mysql 日志(一)

北在南方 2016-04-15 11:59:08 浏览610

MySQL有几个不同的日志文件,可以帮助你找出mysqld内部发生的事情:
日志文件
记入文件中的信息类型
错误日志
记录启动、运行或停止mysqld时出现的问题。
查询日志
记录建立的客户端连接和执行的语句。
更新日志
记录更改数据的语句。不赞成使用该日志。
二进制日志
记录所有更改数据的语句。还用于复制。
慢日志
记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。
      默认情况下,所有日志创建于mysqld数据目录中。通过刷新日志,你可以强制 mysqld来关闭和重新打开日志文件(或者在某些情况下切换到一个新的日志)。当你执行一个FLUSH LOGS语句或执行mysqladmin flush-logs或mysqladmin refresh时,出现日志刷新。
如果你正使用MySQL复制功能,从复制服务器将维护更多日志文件,被称为接替日志。相关讨论参见第6章:MySQL中的复制。

 错误日志
      错误日志文件包含了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。
如果mysqld莫名其妙地死掉并且mysqld_safe需要重新启动它,mysqld_safe在错误日志中写入一条restarted mysqld消息。如果mysqld注意到需要自动检查或着修复一个表,则错误日志中写入一条消息。
     可以用--log-error[=file_name]选项来指定mysqld保存错误日志文件的位置。如果没有给定file_name值,mysqld使用错误日志名host_name.err 并在数据目录中写入日志文件。如果你执行FLUSH LOGS,错误日志用-old重新命名后缀并且mysqld创建一个新的空日志文件。(如果未给出--log-error选项,则不会重新命名)。
     如果不指定--log-error,或者(在Windows中)如果你使用--console选项,错误被写入标准错误输出stderr。通常标准输出为你的终端。
     在Windows中,如果未给出--console选项,错误输出总是写入.err文件。
下面是mysql正常启动和关闭的一段日志:


101231 14:17:36  mysqld started
101231 14:17:37  mysqld ended

101231 14:21:59  mysqld started
101231 14:21:59  mysqld ended

101231 14:31:22  mysqld started
101231 14:31:23  mysqld ended

101231 14:40:16  mysqld started
101231 14:40:16  mysqld ended

101231 14:56:25  mysqld started
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
101231 14:56:25  InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
101231 14:56:25  InnoDB: Log file ./ib_logfile0 did not exist: new to be crea
ted
InnoDB: Setting log file ./ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
101231 14:56:26  InnoDB: Log file ./ib_logfile1 did not exist: new to be crea
ted
InnoDB: Setting log file ./ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
101231 14:56:26  InnoDB: Started; log sequence number 0 0
101231 14:56:27 [Note] /usr/sbin/mysqld-max: ready for connections.
Version: '5.1.7-beta'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL
 Community Edition - Max (GPL)
101231 15:18:11 [Note] /usr/sbin/mysqld-max: Normal shutdown

101231 15:18:11  InnoDB: Starting shutdown...
101231 15:18:15  InnoDB: Shutdown completed; log sequence number 0 43655
101231 15:18:15 [Note] /usr/sbin/mysqld-max: Shutdown complete

101231 15:18:15  mysqld ended

101231 15:18:16  mysqld started
101231 15:18:17  mysqld ended

101231 15:30:02  mysqld started