zoukankan      html  css  js  c++  java
  • mysql 开启慢查询、二进制日志

      对于SQL调优,其中关键的一点是开启慢查询日志。MYSQL会记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,

    才能更好的优化数据库系统的性能。

      MYSQL慢查询日志默认是关闭的。需要通过在 /etc/my.cnf 配置中添加如下参数:

    #开启慢查询日志
    slow_query_log=ON
    #慢查询的阈值,默认为10秒,最小为0,精度可以到微妙
    long_query_time=3
    #日志记录文件如果没有给出file_name值, 默认为主机名,后缀为-slow.log。如果给出了文件名,但不是绝对路径名,文件则写入数据目录。
    slow_query_log_file=slow_query.log
    

      配置修改后,重启数据库

    # service mysqld restart
    

      

      验证开启慢日志查询:

      第一种直接通过变量来确认是否开启。

    mysql> show variables like 'slow_query%';
    +---------------------+----------------+
    | Variable_name       | Value          |
    +---------------------+----------------+
    | slow_query_log      | ON             |
    | slow_query_log_file | slow_query.log |
    +---------------------+----------------+
    2 rows in set (0.00 sec)
    
    mysql> show variables like 'slow_query_time%';
    Empty set (0.00 sec)
    
    mysql> show variables like 'long_query_time%';
    +-----------------+----------+
    | Variable_name   | Value    |
    +-----------------+----------+
    | long_query_time | 3.000000 |
    +-----------------+----------+
    1 row in set (0.00 sec)
    

      

      第二种是直接通过查看慢日志文件内容来确认:

      执行超过3s的查询语句。

     

      查看慢查询日志内容:

       这样我们就能通过慢日志拿到SQL,从而再对SQL进行索引排查,进行SQL优化。

      二进制文件:记录数据变化

      binlog记录了数据库所有的ddl语句和dml语句,但不包括select语句内容,语句以事件的形式保存,描
    述了数据的变更顺序,binlog还包括了每个更新语句的执行时间信息。如果是DDL语句,则直接记录到
    binlog日志,而DML语句,必须通过事务提交才能记录到binlog日志中。 生产中才开启二进制日志。

      主要作用:数据备份、恢复、主从

      开启二进制日志:

      在 /etc/my.cnf 配置中添加如下配置:

    log-bin=mysql-bin
    

      执行 service mysqld restart 重启数据库。查看数据库目录

       出现了mysql-bin文件,后面的序号是备份次数,文件会在数据库备份、重启时,都会为当前的数据进行备份。

    比如我再执行多两次重启数据库,会生成这样的文件。

     

  • 相关阅读:
    【设计模式】责任链模式
    python 获取cookie,发送请求
    python requests报错:Exception: ('Connection broken: IncompleteRead(3794 bytes read, 4398 more expect ed)', IncompleteRea
    获取二维数组 所有的组合排列
    tp3.0 验证码生成和使用
    MySQL: mysql is not running but lock exists 的解决方法
    [RxSwift]4.2.0、Observer
    [RxSwift]4.1.6、ControlEvent
    [RxSwift]4.1.5、Signal
    [RxSwift]4.1.4、Driver
  • 原文地址:https://www.cnblogs.com/process-h/p/14069530.html
Copyright © 2011-2022 走看看