zoukankan      html  css  js  c++  java
  • mysql 日志

    1.error_log
    记录mysql的启动关闭的信息
    记录mysql服务器运行错误的信息
    记录mysql的表检查或修复信息
    路径:my.cnf中通过--log-error=[file_name]配置。默认是数据库数据目录下hostname,修改其路径时要注意mysql对此路径有读写权限。

    2.binary log
    记录mysql增删改日志信息,以事件的形式存储到日志中
    命令参数:
    --log-bin=[file_name] //位置名称
    --log-bin-index=[file] //记录二进制日志文件名
    --max_binlog_size
    --binlog-do-db=db_name //只记录此数据库的二进制日志
    --binlog-ignore-db=db_name //忽略此数据库
    系统变量:
    log_bin
    binlog_cache_size //日志缓存大小
    max_binlog_cache_size //最大缓存大小
    max_binlog_size //最大日志文件大小(事务不会写到两个日志文件里)
    binlog_cache_use //缓存事物数量
    binlog_cache_disk_use //磁盘缓存事务数量,避免磁盘缓存过大
    binlog_do_db
    binlog_ignore_db
    sync_binlog //设置事物提交写硬盘的频率。0服务器自动设置提交写磁盘频率,1,提交一次往磁盘写一次
    查看二进制日志:show master或show binary logs
    切换二进制日志:flush logs
    删除二进制日志:
    初始化二进制日志:reset master(删除了所有)
    删除部分日志:purge master logs to 日志文件名;(删除此文件之前的)
    purge master logs before '年-月-日 时:分:秒';
    参数设置日志失效期:
    show variables like '%expire%%'
    expire_logs_days 0
    set global expire_logs_days=5 //五天之前的二进制日志会被删除。
    设置二进制日志文件格式:
    binlog_format 参数 value 值 STATEMENT|ROW|MIXEDS三种格式
    SET GLOBAL|SESSION binlog_format='STATEMENT'|'ROW'|'MIXED'
    'STATEMENT'格式记录操作语句记录原语句
    'ROW' ddl语句记录是计算机语言乱,但是dcl语句记录原语句
    myslqbinlog工具:
    可以连接远程主机
    可以设置开始位置结束位置开始时间结束时间
    可以设置字符集等

    3.general query log
    记录mysql运行中的所有操作,服务器操作客户端操作。排错时候用。
    记录频率:执行后释放前记录。
    文件名和路径:
    --log=[file_name] or -l[filename]
    默认名:host_name.log 在数据目录下
    服务器重新启动或者flushng操作不会创建新的日志文件
    可以重命名创建新日志文件如:
    mv hots_name.log host_name-old.log
    mysqladmin flush-logs //重新生成
    cp hots_name-od.log / /back_up/....别处
    rm hots_name-old.log
    启动方式:
    除修改配置文件外还可以
    a. mysql 启动时候加上--log=/tmp/mysqllog.log 选项
    b. show cvariables like 'log' ;
    log off
    set global log=1;
    c. show cvariables like 'gener%' ;
    general_log off
    general_log_file /opt/data/ooo.log
    set global general_log=
    set global general_log_file=

    4.slow query log
    记录执行时长超过long_query_time设置的时间命令(不记录获取锁的时间,即时间从获取锁后开始算起)
    命令行参数:--log_slow_queries=/tmp/mysqlslow.log //过时了
    系统变量:
    log_slow_queries=1
    slow_query_log= 1
    slow_query_log_file=/tmp/mysqlslow.log
    long_query_time=10 //默认是10秒
    log_queries_not_using_indexes=0
    用此命令查看慢查询环境变量:show cvariables like '%slow%'

    mysqldumpslow命令查看慢查询日志
    -s 排序(al,at,ar,c,l,r,t)
    at 默认 平均查询时间
    al 平均锁时间
    ar 平均发送行
    c 总数
    l 锁时间
    r 行数
    t 查询时间
    -t 取行数(num)
    .....
    5.innodb redo log
    作用:用于实现灾难恢复。
    提升Innodb的I/O性能。
    系统变量:
    innodb_log_buffer_size //定义缓存大小(不宜太大)
    innodb_log_file_size //日志文件大小
    innodb_log_file_in_group //定义一个组有几个日志文件增加日志文件时,需在配置文件中添加,另外还要全部删除以前的ib_logfile.
    新增前要让日志文件中的内容全部写入磁盘,以防数据丢失。
    innodb_log_group_home_dir // 定义日志文件组目录.默认是相对目录datedir目录。若修改目录,需先把日志文件移动新目录下,然后再指定新目录
    innodb_flush_log_at_trx_commit //可选值 0 日志每秒一次写道日志文件,并对日志文件做磁盘刷新。但一个事物不提交不做操作。
    1,在每个事物提交时。日志缓冲被写道日志文件,并对日志文件做磁盘刷新
    2 ,在每个提交,日志缓冲被写道文件,但不对日志文件做磁盘操作的刷新。对日志文件每秒刷新一次。
    innodb_os_log_written //记录往日志文件里写了多少字节数
    innodb_os_loh_fsyncs //记录往日志文件里写了多少次

    文件位置:默认数据目录,文件名:ib_logfileN

  • 相关阅读:
    html之colspan && rowspan讲解
    html之cellspacing && cellpadding讲解
    JavaScript之setcookie()讲解
    Tomcat漏洞说明与安全加固
    ActionScript基本语法讲解
    2014年03月09日攻击百度贴吧的XSS蠕虫源码
    Samy XSS Worm之源码讲解
    新浪微博之XSS蠕虫脚本源码讲解
    JavaScript之match()方法讲解
    JavaScript之substring()方法讲解
  • 原文地址:https://www.cnblogs.com/youhunyimeng/p/4341990.html
Copyright © 2011-2022 走看看