MySQL主要日志的基本操作与简单解析

MySQL主要有以下几种日志:

  1. 错误日志
  2. 通用查询日志
  3. 慢查询日志
  4. 二进制日志
  5. DDL日志

日志是mysql数据库很重要的一部分,用来记录数据库运行期间发生的变化,比如mysql数据库的客户端连接状况、SQL语句的执行情况和错误信息等你都可以在日志文件中查看到,当数据库莫名其妙崩了,或是出现错误的时候,都可以通过日志来排查问题。
默认情况下,所有日志创建于mysqld数据目录中。

MySQL数据库官方文档https://dev.mysql.com/doc/refman/5.7/en/server-logs.html
官方文档为英文版本,英文好的小伙伴可自行翻阅~

1. 错误日志 (error log)

默认情况下,错误日志是默认开启的。除错误日志外其他日志默认都是关闭状态。
错误日志的内容比较多,我会单独写一篇文章。此处先留空~

2. 通用查询日志 (general query log )

通用查询日志是记录所有MySQL数据库请求信息的,客户端连接或断开连接的信息都会写入此日志,并记录从客户端接收到的每条SQL语句。也就是说不管你对数据库做了啥,有没有得到正确的反馈,都会被记录下来

show variables like '%general_log%';(查看开启状态)
set global general_log = on;(开启查询日志)

(开启有风险,操作需谨慎~ 会影响一定的性能 生产环境下不建议开启)
一般有两种形式,一种是输出到文件中,一种是写入数据表格中。

show variables like 'log_output';(查看状态)

如果想更换为写入数据表,命令如下:

set global log_output='table';

注意:如果设置log_output=table的话,则日志结果会记录到名为gengera_log.csv的表中

每条操作都记录是很消耗性能的,那么我们来关闭它。

set global general_log=off;(关闭查询日志)
3. 慢速查询日志 (slow query log)

简单来讲,慢查询日志就是用来记录执行时间超过指定时间的查询语句,long_query_time的最小值和默认值分别 为0和10(秒)。
当然默认情况下,慢查询日志是禁用的。
我们可以手动开启,然后通过慢查询日志,查找出哪些查询语句的执行效率低,进行优化。
慢查询日志支持将记录写入文件,也支持将记录写入数据库表。

默认情况下slow_query_log为OFF
开启方法:设置slow_query_log的值为1来开启

sqlset global slow_query_log=1;

Query OK之后就可以看到如下图,表格第二行为日志文件保存的路径

sqlshow variables like '%slow_query_log%';

但是!这种方法只是临时生效!!!如果你不小心重启了服务器,那么不好意思,请重新配置一遍吧,如果你想的起来的话....
那么,如何让它永久生效呢?
修改配置文件my.cnf文件,增加或修改参数slow_query_log 和slow_query_log_file,然后重启MySQL服务

slow_query_log =1long_query_time=3(慢查询设置的时间阈值,表示运行超过3秒的sql语句都会被记录下来)
slow_query_log_file=/www/server/data/mysql-slow.log(此处为你想指定的存放路径)
log-queries-not-using-indexes(表示记录下没有使用索引的查询)

重启mysql服务:

service mysql restart

查看设置的时间阈值为多少

show global variables like 'long_query_time'; 

设置时间阈值:

set global long_query_time=10;

使用more查看日志内容

more /www/server/data/mysql-slow.log 

此处不再做过多的赘述,详细了解请翻阅文档。

4. 二进制日志(binary log)

MySQL的二进制日志记录了对mysql数据库执行更改的所有操作,并且记录了更新数据语句发生时间、执行时长、等额外信息,但是不记录查询等不修改数据的SQL语句。顾名思义,它是一个二进制文件,主要用于数据库恢复和主从复制,以及审计操作。

show variables like 'log_bin';(查看开启状态)

20180525015439.png

图中mysql-bin.index的文件是存储所有二进制日志文件的清单,又称为二进制文件的索引。
开启方法:直接修改配置文件my.cnf文件中mysqld下面添加log-bin =DIR \ filename
DIR为目录 filename为文件名
eg:log_bin=/mysql/bin_log/mysql_binlog(设置日志文件路径)

二进制日志有两个重要目的:

  1. 对于复制,主复制服务器上的二进制日志提供了要发送给从服务器的数据更改记录。主服务器将其二进制日志中包含的事件发送给其从服务器,从服务器执行这些事件,以对主服务器进行相同的数据更改。
  2. 某些数据恢复操作需要使用二进制日志。备份恢复后,重新执行备份后记录的二进制日志中的事件。这些事件从备份的角度使数据库保持最新状态。
purge binary logs before '2018-05-20 00:00:00';(清除某个时间点以前的二进制日志文件)
reset master;(清除所有的二进制日志文件)
show binary logs;

详细请参见mysql官方文档

5. DDL日志 (DDL log )

DDL日志或元数据日志记录由数据定义语句(如DROP TABLE或者 ALTER TABLE) 生成的元数据操作。MySQL用此日志来恢复元数据操作中发生的崩溃。
元数据操作的记录会写入到MySQL数据目录中的ddl_log.log(二进制文件)中。
目前,ddl_log.log最多可容纳1048573个条目,大小相当于4 GB。
超过此限制后,必须重新命名或删除文件,才能执行其他DDL语句。

如有错误,欢迎指正

原文已发布在个人博客 更多原创文章请移步个人主站~~
原文链接:https://ixiyu.me/archives/mysql-log.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容