Mysql的日志类型与设置。

时间:2022-05-03 12:17:46

 

  • 1.普通log

记录所有sql操作,包括select,show语句。

设置

默认是不打开此log。

打开时可以指定目录,不指定时保存在数据库录目录下。

[mysqld]

log = /data/logs/mysql.log   #此方式为指定文件

log = 1                             #此文件默认保存在数据库目录下

log-output = TABLE,FILE      #加上此参数可以同时把日志存储到数据表中,mysql库下。一般为CVS格式 ,当然可选其中一个参数就行

                                            #默认是FILE值

  • 2.错误日志

设置

[mysqld_safe]  #此节点设置了会优先读此节点,[mysqld]着节点会无效,不知道为啥?

log-error=/data/logs/mysqld-err.log     #同样可以指定目录,不指定默认存储在数据库目录下 xxx.err

 

  • 3.慢查日志

设置 

[mysqld]

log_slow_queries = /data/logs/mysql-slow.log      #不指定默认为 msyql-slow.log

long_query_time = 1                                       #此值默认为10,最小为1,5.1有个google的补丁可以准确的毫秒。

 

 

log_queries_not_using_indexes = 1                      #没使用索引的查询,存储过程会认为没使用索引而记录下来,默认是0。

 

  • 4.二进制日志

特别说明: 二进制日志 并不记录select,show等不改变数据的sql语句,它主要功能是用于:数据恢复与数据复制。其带来的性能消耗远不如普通 日志高。默认是不打开的。如果使用事务型数据引擎InnoDB会有自己的二进制日志。特别是服务器使用主从架构时,必需开二进制日志,在机群情况下。

 

设置

[mysql]

log-bin = mysql-binlog        #生成格式为 mysql-binlog.00000X 形式。这里不要写完整目录,写个名字就行,日志会存储在数据库目录下。

 

 

 

使用 show variables like '%log%';  命令可以查看当前日志相关设置。

mysql> show variables like 'log%';

+---------------------------------+-------------------------------------+

| Variable_name                   | Value                               |

+---------------------------------+-------------------------------------+

| log                                     | OFF                                 | 

| log_bin                              | ON                                  | 

| log_bin_trust_function_creators | OFF                                 | 

| log_error                                     | /data/logs/mysql_log/mysqld-err.log | 

| log_queries_not_using_indexes   | OFF                                 | 

| log_slave_updates               | OFF                                 | 

| log_slow_queries                | ON                                  | 

| log_warnings                      | 1                                   | 

+---------------------------------+-------------------------------------+

8 rows in set (0.00 sec)