zoukankan      html  css  js  c++  java
  • 如何在MySql中记录SQL日志(例如Sql Server Profiler)

    SQL server有一个sql profiler可以实时跟踪服务器执行的SQL语句,这在很多时候调试错误非常有用。例如:别人写的复杂代码、生产系统、无调试环境、无原代码... ...
     
    查了一下资料,My SQL可以用下面方法跟踪sql 语句,以下方法以Windows平台为例,linux雷同:
     
    1  配置my.ini文件(在安装目录,linux下文件名为my.cnf
     
      查找到[mysqld]区段,增加日志的配置,如下示例:
    [mysqld]
    log="C:/temp/mysql.log"
    log_slow_queries="C:/temp/mysql_slow.log"
    long_query_time=1
     
    log指示日志文件存放目录;
    log_slow_queries指示记录执行时间长的sql日志目录;
    long_query_time指示多长时间算是执行时间长,单位s。
     
    Linux下这些配置项应该已经存在,只是被注释掉了,可以去掉注释。但直接添加配置项也OK啦。
     
    2  重新启动mysql服务。
     
    注意事项:
        A 日志存放目录必须提前存在,否则不能记录日志。这里也局势C:/temp目录必须已经存在
        B 日志文件是linux格式的文本,建议用ultraEdit打开,转换为dos格式查看(否则没有换行,看不懂的)
        C 服务在启动状态下不能删除日志文件,否则就无法记录sql语句了。
        D 不能用ultraEdit直接清除文件内容后保存,否则也记录不下来了。需要重启服务,如果ultraEdit保存了.bak,后记录到此文件中。
        E 可以用notepad清除文本后保存,可以继续记录日志。(怪怪的,也不建议用)
  • 相关阅读:
    NOI 2016 区间 解题报告
    有关莫队
    [JSOI2008]最大数 线段树解法
    HDU P3341 Lost's revenge 题解+数据生成器
    BZOJ P1212 [HNOI2004] L语言
    洛谷P3168 [CQOI2015]任务查询系统
    普通平衡树Tyvj1728、luogu P3369 (splay)
    洛谷P3384 树链剖分
    BZOJ P2157 旅游
    【算法导论】第6章,堆排序
  • 原文地址:https://www.cnblogs.com/liuliu/p/1560327.html
Copyright © 2011-2022 走看看