• 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文件,后面的序号是备份次数,文件会在数据库备份、重启时,都会为当前的数据进行备份。

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

     

  • 相关阅读:
    Bootstrap
    格式化字符串
    闭包函数与装饰器
    正则表达式
    jQuery
    分布式-锁-1.1 多线程锁无法满足的场景
    effective python 读书笔记-第22条: 尽量用辅助类来维护程序的状态,而不要用字典
    effective python 读书笔记:第21条-用只能以关键字形式指定的参数来确保代码明晰
    effective python 读书笔记:第20条-用None和文档字符串来描述具有动态默认值的参数
    git如何将上游(upstream)新建分支(origin没有)导入到origin中?
  • 原文地址:https://www.cnblogs.com/process-h/p/14069530.html
Copyright © 2020-2023  润新知