千家信息网

mysql基础(八)mysql日志

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,mysql日志类型: 1、查询日志(通常不会开启,也不建议开启) 2、慢查询日志(建议开启) 3、错误日志(建议开启) 4、二进制日志(建议开启) 5、中继日志 6
千家信息网最后更新 2024年11月23日mysql基础(八)mysql日志
mysql日志类型:    1、查询日志(通常不会开启,也不建议开启)    2、慢查询日志(建议开启)    3、错误日志(建议开启)    4、二进制日志(建议开启)    5、中继日志    6、事务日志(帮助事务型存储引擎完成ACID测试)        mysql> SHOW GLOBAL VARIABLES LIKE '%log%';  #查看和日志相关的变量    查询日志:            general_log=ON|OFF                      #是否开启查询日志        general_log_file=PATH                   #查询日志文件路径        log_output=FILE|TABLE|NONE              #输出方式,默认为FILE                                    慢查询日志:执行时长超出指定时长的查询操作        mysql> SHOW GLOBAL VARIABLES LIKE 'long_query_time';        #查看超时时长                        服务器变量:            slow_query_log=ON|OFF   #是否开启慢查询日志            log-slow-queries=PATH         #慢查询日志存储路径,默为HOSTNAME-slow.log            log_output=FILE|TABLE   #输出方式,默认为FILE                        mysqldumpslow           #慢查询日志分析工具            错误日志:        1、记录mysql启动和关闭过程中产生的事件信息        2、记录mysql运行过程中产生的错误信息        3、在主从架构中,从服务器上启动从服务器线程产生的信息                        服务器变量:            log_error=OFF|ON|PATH      #启动错误日志,如果不指定错误日志位置将使用默认位置            log_warnings=0|1               #是否记录警告信息                                       二进制日志:记录导致数据改变或者有可能导致数据发生改变的SQL语句        功能:用于实现通过"重放"日志文件中的事件来生成数据副本                            mysql> SHOW MASTER LOGS;              #查看可使用的二进制日志文件列表            mysql> SHOW MASTER STATUS;    #查看正在使用的二进制日志文件            mysql> SHOW BINLOG EVENTS;    #查看二进制日志文件内容            服务器变量:              sql_log_bin=OFF|ON  #是否开启二进制日志              log_bin=OFF|ON              #是否开启二进制日志,必须同时启用才能生效              binlog_format=STATEMENT|ROW|MIXED           #二进制日志格式              max_binlog_size=                    #单个二进制文件最大大小                    1、到达最大大小时自动滚动     2、重启后自动滚动              sync_binlog=0|1                     #是否同步写入,默认为异步写入                    1、同步写入会影响服务器性能    2、异步写入可能会造成数据丢失                                            二进制文件格式:            基于语句的记录:STATEMENT                    优点:在相同体积下记录的数据更多                    缺点:不能保证回放的数据和源数据完全相同               如:mysql> INSERT INTO test VALUE(1,now());#每一次获取的系统时间都不相同                                                基于行(数据)的记录:ROW                            优点:能保证回放的数据和源数据基本相同                            缺点:在相同体积下记录的数据更少                        混合模式:MIXED,由系统判定基于那种方式进行存储                            二进制文件的构成:                日志文件:mysql-bin.00000X   #二进制文件                索引文件:mysql-bin.index    #保存当前可用的二进制日志文件列表                            二进制日志事件的格式:                mysqlbinlog             #二进制文件分析工具                    使用格式:mysqlbinlog [--start-position=事件开始位置] 二进制日志文件                    例:mysqlbinlog mysql-bin.000003                #at 655                #170220  8:33:37  server  id 1  end_log_pos 731  Query  thread_id=12  exec_time=0  error_code=0                SET TIMESTAMP=1487550817/*!*/;                BEGIN                /*!*/;                事件的起始位置:at 655                事件发生的时间:170220  8:33:37                server id 1:server id,在做mysql集群时必须保证server id全局唯一                事件的结束位置:end_log_pos 731                事件的类型:Query                事件发生时所在服务器执行此事件的线程ID:thread_id=12                语句执行和将其写入二进制日志中的时间差                错误代码:error_code    中继日志:主从架构中实现主从复制的从服务日志,主要用于保存从二进制日志文件中读取事件            事务日志:        由事务型存储自行管理和使用    清理日志:        PURGE BINARY LOGS TO 'mysql-bin.010';       #清除指定日志之前的二进制日志        PURGE BINARY LOGS BEFORE '2008-04-02 22:46:26';  #清除指定时间之前的二进制日志


0