MySQL错误日志与通用查询日志图文详析
MySQL日志文件系统的组成
a、错误日志:记录启动、运行或停止mysqld时出现的问题。
b、通用日志:记录建立的客户端连接和执行的语句。
c、更新日志:记录更改数据的语句。该日志在MySQL 5.1中已不再使用。
d、二进制日志:记录所有更改数据的语句。还用于复制。
e、慢查询日志:记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。
f、Innodb日志:innodb redo log
启动错误日志
- 在不同情况下,错误日志会记录在不同的位置。如果没有在配置文件中指定文件名,则文件名默认为hostname.err。
- 在MySQL5.6的RPM发布方式中,错误日志默认被放置在/var/log/mysqld.log。
- 可以通过my.cnf文件进行配置:
1 2 | [mysqld_safe] log-error=/var/log/mysqld.log |
使用vi /etc/my.cnf打开配置文件
Note:修改参数文件后重启MySQl服务才能使修改生效。
查看错误日志
MySQL的错误日志是以文本形式存储的。可以使用各种文本相关命令直接查看。
perror命令可用于查询错误代码的含义。例如:
?1 | perror 1006 |
使用tail -n 15 /var/log/mysqld.log查看错误日志
需要关注日志产生的时间和级别,通常日志级别分为以下几种:
debug、info、note、warning、error、critical
删除错误日志
错误日志可能会不断的增长。因此有必要周期性的维护。
推荐的删除方法:
?1 | #echo > /var/log/mysqld.log |
通用查询日志
记录MySQL执行过的查询
开启通用查询日志
MySQL的通用查询日志默认情况下是不开启的。
当需要进行采样分析时手工开启。
建议使用方法1,因为并不需要持久化的设置,而且修改配置文件需要重启MySQL服务
?1 2 3 4 5 6 | 开启方法1: SET GLOBAL general_log=1; 关闭: SET GLOBAL general_log=0; 开启方法2:编辑配置文件 /etc/my.cnf [mysqld] general-log-file[=path/[filename]] general-log=1 |
Note:如果没有指定通用查询日志文件保存的位置和文件名时,默认放在MySQl数据文件目录中即/var/lib/mysql,文件名为主机名.log。
删除通用查询日志
通用查询日志可能会不断的增长。通常是做采样分析时才开启。不用的通用查询日志要记得删除。
推荐的删除方法:
?1 2 | # set global general_log=0;删除前先关闭 #rm -rf /var/lib/mysql/hostname.log |
通用查询日志的备份
在Linux或Unix中,你可以通过下面的命令重新命名文件
并创建一个新文件:
?1 2 3 4 | shell> mv hostname.log hostname-old.log shell> mysqladmin flush-logs shell> cp hostname-old.log to -backup-directory shell> rm hostname-old.log |
在Windows中,服务器打开日志文件期间不能重新命名日志文件。必须先停止服务器然后重新命名日志文件。然后重启服务器来创建新日志文件。
总结
到此这篇关于MySQL错误日志与通用查询日志的文章就介绍到这了,更多相关MySQL错误日志与通用查询日志内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/qq_41944882/article/details/123042334
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。