mysql学习------错误日志和通用查询日志
一.启动错误日志
1.在不同情况下,错误日志会记录在不同的位置。如果没有在配置文件中指定文件名,则文件名默认为hostname.err
2.在mysql5.6的rpm发布方式中,错误的日志默认的放置在数据文件存放的位置
3.可以通过my.cnf进行配置
[mysqld_safe]
log-error=/var/lib/mysql/log/mysqlerror.log
二.查看错误日志
1.mysql的错误日志是以文本的形式存储的,可以使用各种文本相关的命令直接查看
2.perror命令可用于查询错误代码的含义,例如: perror 2
3.以下地址可以找到错误代码的中文释义
http://dev.mysql.com/doc/refman/5.1/zh/error-handling.html
or
http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/
三.删除错误日志
1.错误日志可能会不断增长,因此有必要周期性的维护
2.可以手工删除,推荐使用以下方法删除
echo > /var/lib/mysql/log/mysqlerror.log
3.实时的查看日志
tail -f mysqlerror.log
4.只查看日志的前几行
tail -n 3 mysqlerror.log
---------------------------------------------------------------------------------------------------------------------------------------
开启通用查询日志
1.mysql通用查询日志默认情况下不开启
2.当需要进行采样分析时手工开启
set global general_log=1; # 1 为开启;0 为关闭
or
在配置文件中开启(不建议开启)
general-log-file[=path/[filename]]
general-log=1
3.删除通用查询日志(删除之前要关闭通用查询日志)
rm -f /var/lib/mysql/localhost.log
-------------------------------------------------------------------------------------------------------------------------------------------
1、MySQL日志文件系统的组成
a、错误日志:记录启动、运行或停止mysqld时出现的问题。
b、通用日志:记录建立的客户端连接和执行的语句。
c、更新日志:记录更改数据的语句。该日志在MySQL 5.1中已不再使用。
d、二进制日志:记录所有更改数据的语句。还用于复制。
e、慢查询日志:记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。
f、Innodb日志:innodb redo log
缺省情况下,所有日志创建于mysqld数据目录中。
可以通过刷新日志,来强制mysqld来关闭和重新打开日志文件(或者在某些情况下切换到一个新的日志)。
当你执行一个FLUSH LOGS语句或执行mysqladmin flush-logs或mysqladmin refresh时,则日志被老化。
对于存在MySQL复制的情形下,从复制服务器将维护更多日志文件,被称为接替日志。