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

定期删日志文件是维护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





原文地址:https://www.cnblogs.com/51runsky/p/de1ccd414914cf8686733bd8c2316373.html