设为首页 收藏本站
查看: 1191|回复: 0

[经验分享] mysql基础(八)mysql日志

[复制链接]

尚未签到

发表于 2018-10-9 06:56:12 | 显示全部楼层 |阅读模式
mysql日志类型:  
    1、查询日志(通常不会开启,也不建议开启)
  
    2、慢查询日志(建议开启)
  
    3、错误日志(建议开启)
  
    4、二进制日志(建议开启)
  
    5、中继日志
  
    6、事务日志(帮助事务型存储引擎完成ACID测试)
  

  

  
mysql> SHOW GLOBAL VARIABLES LIKE '%log%';#查看和日志相关的变量
  

  
    查询日志:
  
    general_log=ON|OFF#是否开启查询日志
  general_log_file=PATH#查询日志文件路径
  log_output=FILE|TABLE|NONE#输出方式,默认为FILE
  
    慢查询日志:执行时长超出指定时长的查询操作
  mysql> SHOW GLOBAL VARIABLES LIKE 'long_query_time';#查看超时时长
  服务器变量:
  slow_query_log=ON|OFF#是否开启慢查询日志
  log-slow-queries=PATH  #慢查询日志存储路径,默为HOSTNAME-slow.log
  log_output=FILE|TABLE#输出方式,默认为FILE
  mysqldumpslow#慢查询日志分析工具
  

  
    错误日志:
  1、记录mysql启动和关闭过程中产生的事件信息
  2、记录mysql运行过程中产生的错误信息
  3、在主从架构中,从服务器上启动从服务器线程产生的信息
  服务器变量:
  log_error=OFF|ON|PATH      #启动错误日志,如果不指定错误日志位置将使用默认位置
  log_warnings=0|1       #是否记录警告信息
  

  
       二进制日志:记录导致数据改变或者有可能导致数据发生改变的SQL语句
  
        功能:用于实现通过"重放"日志文件中的事件来生成数据副本
  mysql> SHOW MASTER LOGS;#查看可使用的二进制日志文件列表
  mysql> SHOW MASTER STATUS;#查看正在使用的二进制日志文件
  mysql> SHOW BINLOG EVENTS;#查看二进制日志文件内容
  

  服务器变量:
  sql_log_bin=OFF|ON#是否开启二进制日志
  log_bin=OFF|ON#是否开启二进制日志,必须同时启用才能生效
  binlog_format=STATEMENT|ROW|MIXED#二进制日志格式
  max_binlog_size=#单个二进制文件最大大小
  1、到达最大大小时自动滚动  2、重启后自动滚动
  sync_binlog=0|1#是否同步写入,默认为异步写入
  1、同步写入会影响服务器性能  2、异步写入可能会造成数据丢失
  二进制文件格式:
  基于语句的记录:STATEMENT
  优点:在相同体积下记录的数据更多
  缺点:不能保证回放的数据和源数据完全相同
  如:mysql> INSERT INTO test VALUE(1,now());#每一次获取的系统时间都不相同
  基于行(数据)的记录:ROW
  优点:能保证回放的数据和源数据基本相同
  缺点:在相同体积下记录的数据更少
  混合模式:MIXED,由系统判定基于那种方式进行存储
  二进制文件的构成:
  日志文件:mysql-bin.00000X#二进制文件
  索引文件:mysql-bin.index#保存当前可用的二进制日志文件列表
  二进制日志事件的格式:
  mysqlbinlog#二进制文件分析工具
  使用格式:mysqlbinlog [--start-position=事件开始位置] 二进制日志文件
  例:mysqlbinlog mysql-bin.000003
  

  #at 655
  #170220  8:33:37  server  id 1  end_log_pos 731  Query  thread_id=12  exec_time=0  error_code=0
  SET TIMESTAMP=1487550817/*!*/;
  BEGIN
  /*!*/;
  

  事件的起始位置:at 655
  事件发生的时间:170220  8:33:37
  server id 1:server id,在做mysql集群时必须保证server id全局唯一
  事件的结束位置:end_log_pos 731
  事件的类型:Query
  事件发生时所在服务器执行此事件的线程ID:thread_id=12
  语句执行和将其写入二进制日志中的时间差
  错误代码:error_code
  

  

  
    中继日志:主从架构中实现主从复制的从服务日志,主要用于保存从二进制日志文件中读取事件
  

  
    事务日志:
  由事务型存储自行管理和使用
  

  

  
    清理日志:
  PURGE BINARY LOGS TO 'mysql-bin.010';#清除指定日志之前的二进制日志
  PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';  #清除指定时间之前的二进制日志



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-618124-1-1.html 上篇帖子: mysql主从同步延迟原因及解决方法 下篇帖子: mysql-proxy实现读写分离脚本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表