6. mysql log
1.error log
错误日志, 记录mysql服务启动时出现的问题, 文本文件
[mysqld_safe] #注意是写在这里
log-error=/var/log/mysqld/mysql-error.log -- mysqld文件夹要存在且chown mysql
该日志无法关掉
2.access log
查询(访问)日志, 记录客户端执行的所有语句, 文本文件
对于访问频繁的系统, 对性能影响较大, 建议关闭
show variables like ‘%general_log%’;
[mysqld]
general_log=on
general_log_file=/var/log/mysqld/mysql-access.log ----连上后作一些操作, 然后查看关闭就 #注释这2行
3.bin log
二进制日志, 记录所有的ddl、dml语句, 不记select, 还用于复制, 非文本文件
[mysqld]
log_bin=/var/log/mysqld/mysql-bin -- 日志文件的前缀
服务重启1次, 日志文件就新增1个(如mysql-bin.000002)
flush logs;也会新增一个日志文件
日志文件的大小超过了max_binlog_size(单位是Byte, 默认1GB), 也会新增一个日志文件
显示日志文件:
show master logs;
show master status;
show variables like "%log_bin%"
查看二进制日志:
mysqlbinlog mysql-bin.000001
mysqlbinlog mysql-bin.000001 -d ds -- 只显示ds数据库的
--start-datetime=”2012-10-10 9:10:0” --stop-datetime=”2012-10-10 9:30:59” -- 只显示这段时间之间的日志
--start-position="123" --stop-position="456" -- at后的数字, 繁忙的在线系统, 同一时刻多人操作, 即同一时刻发生有多个dml, 这时可以用position来区分
如果只写开始, 则到日志最尾部, 如果只写结束, 则从日志最开头
-------------------------------------------------------------------------------------------------------------------------------
![计算机生成了可选文字: shell>mysqlbinlog[options]109一filesl109一filesZ…
oPtion有很多选项,常用的选项如下。
J一d,一database=name:指定数据库名称,只列出指定的数据库相关操作。
J一。,一o爪et=#:忽略掉日志中的前。行命令。
。一r,一roult一血二name:将愉出的文本格式日志愉出到指定文件。
。一s,一由ort一form:显示简单格式,省略掉一些信息。
J一set一charset二char一nanle:在输出为文本格式时,在丈件第一行加上,et
char一name,这个选项在某些情况下装载数据时,非常有用。
。一,tart一da,e,in,e=name弓top一dsteonle=name:指定日期I'e1隔内的所有日志。
J一‘tart一po、ition==#一stop一po,ition=#:指定位置J'q隔内的所有日志
n之nles](http://images0.cnblogs.com/blog/508066/201506/140941545985403.png)
定期删日志文件是维护MySQL的一个重要工作内容
方法1:
reset master;
删除所有日志文件, 产生1个新日志文件, 重新从000001开始编号
方法2:
purge master logs to 'mysql-bin.000006';
编号000006之前的所有日志文件被删除
方法3:
[mysqld]
expire_logs_days=3(天) -- 重启服务, 从产生到过了3天后该文件将会被自动删除;默认是0,不删除
其他一些选项
[mysqld]
binlog_do_db=db1
binlog_do_db=db2 -- 没有显式指定的数据库将不会被记录
binlog_ignore_db=db1
binlog_ignore_db=db2 -- 没有显式指定的数据库将会被记录
set sql_log_bin = 0; -- 禁止将自己的操作记入二进制日志
4.slow log
慢日志, 文本文件, 记录所有执行时间超过long_query_time秒的语句 增删改查都会记
慢日志对于我们发现有性能问题的语句很有帮助, 建议打开并经常查看分析
[mysqld]
long_query_time=2(秒)
-- 5.5
log_slow_queries=/var/log/mysqld/mysql-slow.log
-- 5.6
slow_query_log=on
slow_query_log_file=/var/log/mysqld/mysql-slow.log
浙公网安备 33010602011771号