• mysql日志设置及查看


    MySQL有以下几种日志:
    错误日志: -log-err
    查询日志: -log
    慢查询日志: -log-slow-queries
    更新日志: -log-update
    二进制日志: -log-bin
    默认情况下,所有日志创建于mysqld数据目录中。通过刷新日志,你可以强制 mysqld来关闭和重新打开日志文件(或者在某些情况下切换到一个新的日志)。当你执行一个FLUSH LOGS语句或执行mysqladmin flush-logs或mysqladmin refresh时,出现日志刷新

    1. 错误日志
    用--log- error[=file_name]选项来指定mysqld保存错误日志文件的位置。如果没有给定file_name值,mysqld使用错误日志名 host_name.err 并在数据目录中写入日志文件。如果你执行FLUSH LOGS,错误日志用-old重新命名后缀并且mysqld创建一个新的空日志文件。(如果未给出--log-error选项,则不会重新命名)。
    如果不指定--log-error,或者(在Windows中)如果你使用--console选项,错误被写入标准错误输出stderr。通常标准输出为你的终端。

    2. 通用查询日志                                                            
    用--log[=file_name]或-l [file_name]选项启动它。如果没有给定file_name的值,默认名是host_name.log。

    3. 慢速查询日志                                                            
    用--log-slow-queries[=file_name]选项启动时,mysqld 写一个包含所有执行时间超过long_query_time秒的SQL语句的日志文件.如果没有给出file_name值,默认未主机名,后缀为 -slow.log。如果给出了文件名,但不是绝对路径名,文件则写入数据目录。

    4. 更新日志                                                              
    用--log-update[=file_name]选项启动,不推荐使用.

    是否启用了日志
    mysql>show variables like 'log_%';  show variables like '%slow%'; //查看是否开启慢日志
    怎样知道当前的日志
    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

    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"

    之后需要重启服务器

    开启慢查询
    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 --对所有执行语句进行记录

  • 相关阅读:
    根据年月日算出当前日期是星期几
    告别where 1=1 最佳方案分享
    服务器时间,剩余天、小时、分、秒倒计时代码
    分享一个Web弹框类
    从网上搜集了两篇关于数据库分页性能分析总结
    Request、Request.Form和Request.QueryString的区别
    LINQ to SQL语句之Join和Order By
    List转换成Json、对象集合转换Json等
    GRID控件删除之前确认
    LeetCode 141
  • 原文地址:https://www.cnblogs.com/ssfs/p/6594746.html
Copyright © 2020-2023  润新知