zoukankan      html  css  js  c++  java
  • MYSQL 日志问题

    代码
    mysql有以下几种日志:   
      错误日志: 
    -log-err   
      查询日志: 
    -log   
      慢查询日志: 
    -log-slow-queries   
      更新日志: 
    -log-update   
      二进制日志: 
    -log-bin   


    是否启用了日志  
    mysql
    >show variables like 'log_%';  

    怎样知道当前的日志  
    mysql
    > show master status;  

    顯示二進制日志數目  
    mysql
    > show master logs;  

    看二进制日志文件用mysqlbinlog  
    shell
    >mysqlbinlog mail-bin.000001  
    或者shell
    >mysqlbinlog mail-bin.000001 | tail  

    在配置文件中指定log的輸出位置.  
    Windows:Windows 的配置文件为 my.ini,一般在 MySQL 的安装目录下或者 c:\Windows 下。  
    Linux:Linux 的配置文件为 my.cnf ,一般在 
    /etc 下。  

    在linux下:  

    Sql代码  
    # 在[mysqld] 中輸入   
    #log   
    log
    -error=/usr/local/mysql/log/error.log   
    log
    =/usr/local/mysql/log/mysql.log   
    long_query_time
    =2   
    log
    -slow-queries= /usr/local/mysql/log/slowquery.log   
    # 在[mysqld] 中輸入
    #log
    log
    -error=/usr/local/mysql/log/error.log
    log
    =/usr/local/mysql/log/mysql.log
    long_query_time
    =2
    log
    -slow-queries= /usr/local/mysql/log/slowquery.log


    windows下:  

    Sql代码  
    # 在[mysqld] 中輸入   
    #log   
    log
    -error="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log"   
    log
    ="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log"   
    long_query_time
    =2   
    log
    -slow-queries= "E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"   
    # 在[mysqld] 中輸入
    #log
    log
    -error="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/error.log"
    log
    ="E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/mysql.log"
    long_query_time
    =2
    log
    -slow-queries= "E:/PROGRA~1/EASYPH~1.0B1/mysql/logs/slowquery.log"


    开启慢查询  
    long_query_time 
    =2 --是指执行超过多久的sql会被log下来,这里是2秒  
    log
    -slow-queries= /usr/local/mysql/log/slowquery.log --将查询返回较慢的语句进行记录  

    log
    -queries-not-using-indexes = nouseindex.log --就是字面意思,log下来没有使用索引的query  

    log
    =mylog.log --对所有执行语句进行记录 

    代码
    日志的查看很简单,大部分都是文本,直接用vim、less、more之类的工具看就可以了,值得说明的是二进制文件的查看:

    1). 首先确定是否开启了二进制文件记录功能
    mysql
    >show variables like 'log_bin';

    2). 如果你想知道现在记录二进制数据的文件具体信息,你可以通过下列语句看到现在正在记录哪个文件,以及记录的当前位置:
    mysql
    >show master status;

    3). 查看二进制数据需要借助程序mysqlbinlog,看看它支持哪些选项,根据自己需要来使用。
    mysql
    >mysqlbinlog /var/log/mysql/mysql-bin.000040;
    查询某个时间范围的可以执行下列语句,如果记录很多可以将结果定向到一个文件里自己慢慢看:
    -) :
    mysql
    >mysqlbinlog --start-datetime='2008-01-01 00:00:00' --stop-datetime='2008-08-08 00:00:00'  /var/log/mysql/mysql-bin.000040 > ./tmp.log

  • 相关阅读:
    python Database Poll for SQL SERVER
    SQLAlchemy表操作和增删改查
    flask动态url规则
    flask配置管理
    一个Flask运行分析
    Function Set in OPEN CASCADE
    Happy New Year 2016
    Apply Newton Method to Find Extrema in OPEN CASCADE
    OPEN CASCADE Multiple Variable Function
    OPEN CASCADE Gauss Least Square
  • 原文地址:https://www.cnblogs.com/derrck/p/1793955.html
Copyright © 2011-2022 走看看