• MySQL日志比较


    1、MySQL日志比较

    日志文件

    文件中的信息

    作用

    错误日志

    记录启动、运行或停止mysqld时出现的问题。

    系统故障时定位故障原因

    查询日志

    记录建立的客户端连接和执行的语句。

    记录数据库发生的所有操作

    二进制日志

    记录所有更改数据的语句。

    数据库数据备份和复制

    慢日志

    记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。

    定位系统性能问题,查找有性能问题的SQL语句

    2、错误日志

    作用:错误日志文件包含了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。

    使用:可以用--log-error[=file_name]选项来指定mysqld保存错误日志文件的位置。如果没有给定file_name值,mysqld使用错误日志名host_name.err(host_name为主机名)并在数据目录(DATADIR)中写入日志文件。

    清理:如果你执行FLUSHLOGS,错误日志用-old重新命名后缀并创建一个新的空日志文件:

    shell>mv hostname.err  hostname-old.err

    shell>mysqladmin flush-logs

    shell>cp hostname-old.errto-backup-directory

    shell>rm hostname-old.err

    3、查询日志

    作用:查询日志记录了客户端的所有连接和语句(二进制日志不包括查询语句。)当你想确切地知道该客户端发送给mysqld的语句时,该日志可能非常有用

    使用:可以用--log[=file_name]或-l [file_name]选项启动mysqld的查询日志服务。如果没有给定file_name的值,默认名是host_name.log

    建议:不要打开此日志,以免影响系统整体性能

    清理:同错误日志。

    4、慢速查询日志

            作用:慢查询日志记录所有执行时间超过long_query_time秒的SQL语句的日志文件。获得初使表锁定的时间不算作执行时间。

            使用:可以用--log-slow-queries[=file_name]选项启动,如果没有给出file_name值,默认为host_name-slow.log。如果给出了文件名,但不是绝对路径名,文件则写入数据目录。

            查看:使用mysqldumpslow命令获得日志中显示的查询摘要来处理慢查询日志。

            清理:同错误日志。

    5、二进制日志

    作用:二进制日志记录所有更新了数据或者已经潜在更新了数据(例如,没有匹配任何行的一个DELETE)的所有语句。二进制日志的主要目的是在恢复使能够最大可能地更新数据库,因为二进制日志包含备份后进行的所有更新,还用于在主复制服务器上记录所有将发送给从服务器的语句。

    使用:可以用--log-bin[=file_name]选项启动。如果未给出file_name值,默认名为-bin后面所跟的主机名。如果给出了文件名,但没有包含路径,则文件被写入数据目录(DATADIR)。如果你在日志名中提供了扩展名(例如,--log-bin=file_name.extension),则扩展名被悄悄除掉并忽略。

    清理:执行mysqladminflush-logs然后删除三天前的所有日志。手动删除可以使用PURGE MASTER LOGS,该语句还会安全地更新二进制日志索引文件(可以采用日期参数)。自动删除可以选择设置--expire_logs_days=day,day天以前的数据会自动删除。

    其他:mysqld在每个二进制日志名后面添加一个数字扩展名。每次你启动服务器或刷新日志时该数字则增加。如果当前的日志大小达到max_binlog_size,还会自动创建新的二进制日志。如果你正使用大的事务,二进制日志还会超过max_binlog_size:事务全写入一个二进制日志中,绝对不要写入不同的二进制日志中。为了能够知道还使用了哪个不同的二进制日志文件,mysqld还创建一个二进制日志索引文件,包含所有使用的二进制日志文件的文件名。默认情况下与二进制日志文件的文件名相同,扩展名为'.index'(可以用--log-bin-index[=file_name]选项更改二进制日志索引文件的文件名)。

    对于事务表,由于在执行完COMMIT之前,mysqld将整个事务写入二进制日志。当处理事务的线程启动时,它为缓冲查询分配binlog_cache_size大小的内存。如果语句大于该值,线程则打开临时文件来保存事务。线程结束后临时文件被删除。将binlog_cache_size调节到足够大的值,可以避免使用临时文件。(注:Binlog_cache_use状态变量显示了缓冲区保存语句的事务的数量。Binlog_cache_disk_use状态变量显示了事务中实际上有多少必须使用临时文件。)

  • 相关阅读:
    [CF864F]Cities Excursions
    [AGC012F]Prefix Median
    [TC-FindingFriends]Finding Friends
    [TC-HouseProtection]House Protection
    [CTSC2018]假面
    [CF877F]Ann and Books
    [CF509F]Progress Monitoring
    [CF735E/736C]Ostap and Tree
    CF611H New Year and Forgotten Tree
    CF538H Summer Dichotomy
  • 原文地址:https://www.cnblogs.com/sunson/p/2596874.html
Copyright © 2020-2023  润新知