文章目录
1.3、 MySQL文件结构
1.3.1 参数文件
存放目录:
- /etc/my.cnf
- /etc/mysql/my.cnf
- /usr/local/mysql/etc/my.cnf
- ~/.my.cnf
读取优先级:从上到下, 后面的会覆盖前面的
1.3.2 错误日志文件
//查看错误日志存放地址
show variables like 'log_error'
1.3.3 二进制日志文件(binlog)
不记录查询,只记录对数据库的所有修改操作。 目的是为了恢复和复制。
二进制日志支持STATEMENT、ROW、MIX三种格式, 通过binlog_format参数指定。
//查看存放路径(bin)
show variables like 'datadir';
MySQL 客户端查看
//只查看第一个binlog文件的内容
show binlog events;
//查看指定binlog文件的内容
show binlog events in 'mysql-bin.000002';
//查看当前正在写入的binlog文件
show master status\G;
//获取binlog文件列表
show binary logs;
工具查看
用mysqlbinlog工具查看
注意:
1. 不要查看当前正在写入的binlog文件
2. 不要加--force参数强制访问
3. 如果binlog格式是行模式的,请加 -vv参数
本地查看
-
基于开始/结束时间
mysqlbinlog --start-datetime=‘2013-09-10 00:00:00’ --stop-datetime=‘2013-09-10 01:01:01’ -d 库名 二进制文件
-
基于pos值
mysqlbinlog --start-postion=107 --stop-position=1000 -d 库名 二进制文件
查看row模式日志的方法:
mysqlbinlog –base64-output=decode-rows -vv mysql-bin.000001
其中–base64-output=decode-rows是将原编码过的日志转码;
而-vv则时以注释形式显示做过的SQL操作,可以指定mysql-bin.000001
1.3.4 慢查询(慢SQL)日志
相关参数:
- slow_query_log 慢查询开启状态
- slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录)
- long_query_time 查询超过多少秒才记录
方式一: 写到表中