错误日志的介绍

MySQL的错误日志用于记录MySQL服务进程mysqld在启动/关闭或运行过程中遇到的错误信息。

错误日志的记录配置

MySQL的错误日志通常由mysqld或mysqld_safe程序产生,前文已经讲解过MySQL的启动原理,因此,可利用如下方法配置记录MySQL错误日志。

方法1:在my.cnf配置文件中调整,注意,是在[mysqld_safe]或[mysqld]模块的下面进行配置。命令如下:

[mysqld]
 log-error = /data/mysql/error.err /data/mysql/error.err 都是自己手动创建的,记得修改所属的用户与所属的组为mysql ,或者修改操作权限
 chown -R mysql:mysql /data/mysql
 chmod -R 755 /data/mysql

方法2:在启动MySQL服务的命令里加入记录错误日志的参数。

示例如下:

log-error=/data/mysql/error/error.err

查看到的最终结果为:

show variables like ‘log_error%’;

修改文件夹的权限

rdesktop错误日志 错误日志怎么处理_mysql


3.错误日志轮询

管理员可以使用命令轮询错误日志,例如可以按天轮询,具体方法如下:

[root@songls~]# cd /data/mysql/error/ #<==切换到日志目录下。
 [root@songls mysql]# mv error.err error_$(date +%F).err #<==将错误日志按天

移动改名。

[root@songls data]# mysqladmin flush-logs #<==执行刷新日志命令。
 [root@songls data]# ls -l error.err
 -rw-rw----. 1 mysql mysql 0 Mar 19 19:34 error.err #<==新的错误日志诞生了

慢查询日志重要参数配置

企业中常见的配置慢查询的参数为:

slow-query-log = ON #<==慢查询开启开关
 long_query_time = 2 #<==记录大于2秒的SQL语句。
 log_queries_not_using_indexes #<==没有使用到索引的SQL语句。
 slow-query-log-file = /data/mysql/slow/slow.log #<==记录SQL语句的文件。
 min_examined_row_limit = 800 #<==记录结果集大于800行的SQL语句。


可将上述参数配置到my.cnf里,配置完毕重启MySQL服务,并进行检查:

rdesktop错误日志 错误日志怎么处理_rdesktop错误日志_02


rdesktop错误日志 错误日志怎么处理_mysql_03


在数据库下面如果成功说明配置成功

慢查询日志的刷新方法,设置定时任务

在工作中,可以利用定时任务按天对慢查询日志进行切割,然后再分析。
示例切割脚本如下:

[root@oldboy data]# mkdir /server/scripts/ -p
 [root@oldboy data]# cat /server/scripts/cut_slow_log.sh
 export PATH=/application/mysql/bin:/sbin:/bin:/usr/sbin:/usr/bin
 cd /data/mysql/slow
 mv slow.log slow.log.$(date +%F)
 mysqladmin flush -log


将上述脚本放入定时任务,每天0点执行切割任务,配置结果如下:

[root@oldboy data]# tail -2 /var/spool/cron/root
 #cut mysql slow log by oldboy at 20180324
 00 00 * * * /bin/sh /server/scripts/cut_slow_log.sh >/dev/null 2>&1

使用工具分析慢查询日志

mysqlsla是收费软件,关注博主私聊免费送安装包。我叫雷锋不用谢
实际工作中,慢查询的日志可能非常多,给运维人员的优化工作带来了一定的困难,MySQL官方提供了慢查询的分析工具mysqldumpslow,有兴趣的读者可以参考官方手册。
下面为大家介绍一款很不错的第三方分析工具mysqlsla(需要单独安装该工具)。
(1)安装mysqlsla
请提前下载好mysqlsla-2.03.tar.gz到指定目录下,然后执行如下命令安装:

yum install perl-devel perl-DBI -y
 rpm -qa perl-devel perl-DBI
 tar -xf mysqlsla-2.03.tar.gz
 cd mysqlsla-2.03
 perl Makefile.PL make
 make install


(2)利用mysqlsla工具分析慢查询
mysqlsla命令的默认路径为:/usr/local/bin/mysqlsla。
简单语法如下:

mysqlsla -lt slow [SlowLogFilePath] > [ResultFilePath]


在实际工作中,通常使用脚本调用mysqlsla工具进行分析,然后每天早晨8点,把分析结果发给企业的核心人员(DBA、运维总监、CTO、研发总监、核心开发),最后由DBA配合核心开发共同优化这些棘手的SQL慢查询。