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基础-元组类型
    python基础-列表类型
    python基础-字符串类型
    python基础-数字类型
    python基础-循环
    python基础-短路和拷贝
    python基础-人机交互和运算符
    python基础-垃圾回收机制
    python基础-python介绍
    UCF Local Programming Contest 2017(2020-4-6)
  • 原文地址:https://www.cnblogs.com/derrck/p/1793955.html
Copyright © 2011-2022 走看看