ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql常见的5种日志

2021-06-30 03:00:07  阅读:166  来源: 互联网

标签:文件 中继 log binlog 常见 mysql 服务器 日志


点赞再看,养成习惯,微信搜索「小大白日志」关注这个搬砖人。

文章不定期同步公众号,还有各种一线大厂面试原题、我的学习系列笔记。

  • 错误日志(errorlog)

用来记录mysqlId的错误信息,如数据库宕机、其他数据库错误,这些都会被写入errorlog,errorlog有下面几个配置参数:(本文介绍的5种日志文件在linux下可以直接【vim /etc/my.cnf】进行配置,绝对路径的日志文件名均为.log文件)

[mysqld] 
log_error:可取{0|1|具体文件路径},设置errorlog是否被写入文件,1是0否,还可以直接写上“错误日志文件绝对路径”直接输出
  • 慢查询日志(slow_query_log)

用来记录查询时间超过某个时间阀值的所有sql,方便找出执行效率低的语句;其有下面几个配置参数:

[mysqld] 
long_query_time:时间阀值,默认10s
slow_query_log:可取{0|1},是否启动慢查询,默认0
show_query_log_file:指定慢查询日志文件绝对路径(具体到.log文件)
log_output:慢查询日志的输出形式,默认为“file”,代表输出到文件
  • 一般查询日志(general_log)

是mysql中最详细的日志,它会记录所有client客户端发给mysqlId的sql语句,所以开销会比较大,一般mysql是将其关闭的,其有下面几个参数:

general_log:是否开启general_log日志,可取{0|1},默认为0代表关闭
general_log_file:指定一般查询日志文件绝对路径(具体到.log文件)
  • 二进制文件(binlog)
    用于记录mysql的所有DDL/DML语句(修改数据),但不会记录那些不做数据修改的sql【如select】,并以二进制的形式保存在二进制文件中,常用于恢复数据、主从复制(从服务器的数据版本可以比主服务器高),binlog日志内容有3种格式:
    • Row格式:会保存每行数据被修改的细节,不会保存所有的sql语句
    • Statement格式:会保存所有的sql语句,而不用去保存每行数据被修改的细节,所以相对Row格式则极大地减少了binlog的的日志量
    • Mixed格式:Row格式和Statement格式的混合,比如create/alter等修改表结构语句会以Statement格式保存sql,但update/delete等修改语句还是会以Row格式保存每行数据被修改的细节

      其有下面几个参数:
log_bin:是否开启binlog日志,可取{0|1}
binlog_format:binlog日志的格式,一般取Row
max_binlog_size:binlog日志文件的最大文件大小,当大于这个值时,会保留原日志文件并生成新的日志文件
expire_logs_days:binlog日志文件的保留时间,可在[0-99]之间设置,默认0表示不过期永不删除
  • 中继日志(relay_log)

中继日志主要是给从服务器使用的,主从复制的时候,从服务器可从主服务器出获取binlog二进制日志文件内容,并把这些内容写入到relay_log中继日志文件,于是从服务器便可以读取中继日志文件进行主从复制,其有下面几个参数:

relay_log:指定中继日志文件绝对路径(具体到.log文件)
relay_log_purge :可取{0|1},是否清除不再需要的中继日志,默认1
relay_log_recovery :从服务器宕机后,如果中继日志relay_log损坏了,则从服务器放弃掉该中继日志,同时从服务器重新去主服务器拉取binlog二进制日志文件,重新写入形成relay_log中继日志文件

OK,如果文章哪里有错误或不足,欢迎各位留言。
创作不易,各位的「三连」是二少创作的最大动力!我们下期见!

标签:文件,中继,log,binlog,常见,mysql,服务器,日志
来源: https://www.cnblogs.com/mofes/p/14952694.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有