MySQL错误日志与通用查询实例分析

网友投稿 462 2023-07-07

MySQL错误日志与通用查询实例分析

MySQL错误日志与通用查询实例分析

MySQL日志文件系统的组成

a、错误日志:记录启动、运行或停止mysqld时出现的问题。

b、通用日志:记录建立的客户端连接和执行的语句。

c、更新日志:记录更改数据的语句。该日志在MySQL 5.1中已不再使用。

d、二进制日志:记录所有更改数据的语句。还用于复制。

e、慢查询日志:记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。

f、Innodb日志:innodb redo log

启动错误日志

在不同情况下,错误日志会记录在不同的位置。如果未在配置文件中指定文件名,该文件的默认名称是主机名.err。在MySQL5.6的RPM发布方式中,错误日志默认被放置在/var/log/mysqld.log。可以通过my.cnf文件进行配置:

[mysqld_safe] log-error=/var/log/mysqld.log登录后复制

使用vi /etc/my.cnf打开配置文件

Note:修改参数文件后重启MySQl服务才能使修改生效。

查看错误日志

MySQL的错误日志是以文本形式存储的。可以使用各种文本相关命令直接查看。

perror命令可用于查询错误代码的含义。例如:

perror 1006登录后复制

使用tail -n 15 /var/log/mysqld.log查看错误日志

需要关注日志产生的时间和级别,通常日志级别分为以下几种:

debug、info、note、warning、error、critical

删除错误日志

错误日志可能会不断的增长。因此有必要周期性的维护。

推荐的删除方法:

#echo > /var/log/mysqld.log登录后复制

通用查询日志

记录MySQL执行过的查询

开启通用查询日志

MySQL的通用查询日志默认情况下是不开启的。

当需要进行采样分析时手工开启。

建议使用方法1,因为并不需要持久化的设置,而且修改配置文件需要重启MySQL服务

开启方法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。

删除通用查询日志

通用查询日志可能会不断的增长。通常是做采样分析时才开启。不用的通用查询日志要记得删除。

推荐的删除方法:

#set global general_log=0;删除前先关闭#rm -rf /var/lib/mysql/hostname.log登录后复制

通用查询日志的备份

在Linux或Unix中,你可以通过下面的命令重新命名文件

并创建一个新文件:

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服务器打开日志文件时,不允许对日志文件进行重新命名。必须先停止服务器然后重新命名日志文件。然后重启服务器来创建新日志文件。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Mysql中的innoDB怎么解决幻读
下一篇:mysql8创建、删除用户及授权、消权操作的方法
相关文章