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

posted @ 2015-03-16 15:45  饿狼的传说  阅读(152)  评论(0编辑  收藏  举报