错误日志:
错误日志对mysql的启动,运行,关闭进行了记录。该文件不仅记录了所有的错误信息,
也记录一些警告的信息或正确的信息。用户可以通过命令:show variables like 'log_error'
来定位该文件,如:
--------------------------------------------------------------------------------------------------------------
慢查询日志:
使用命令 show variables like '%slow%' 查看慢查询的日志信息,如:
log_slow_queries:表示慢查询日志已开启(默认是不开始的,需用户手动开启)
slow_launch_time:该值跟慢查询没有多大关系,它表示的是thread create的阈值
slow_query_log_file:慢查询日志文件的存放路径
现在我们看到慢查询已经开启了,那么来查看一下查询超过多少时间,才会记录日志:
通过命令 show variables like 'long_query_time' 看到,执行超过0.0001秒时,才会被记录;
另一个和慢查询日志有关的参数是log_queries_not_using_indexes,它表示如果语句没有
使用索引时,是否也同样记录到慢查询日志中,首先得确认该设置是否已经启用:
其Value值为ON,说明已开启了(默认是不开启的,需手动开启),最后我们找到慢查询日志
文件,来查看下执行最慢的3条SQL:./mysqldumpslow -s al -t 3 /data0/mysql/3306/slow_log.log
mysql也可将慢查询日志记录放入一张表中,慢查询表在mysql架构下,名为slow_log ;首先还是得先通过
如果要设置为保存表中,使用命令:set global log_output='TABLE';
最后贴一下mysql配置文件(my.cnf)中慢查询日志的设置:
log_queries_not_using_indexes:表示未用到索引的SQL,超过执行时间,每分钟只记录1次,设置为0,表示没有限制。
-------------------------------------------------------------------------------------------------------
查询日志:
查询日志记录了所有对mysql数据库请求的信息,无论这些请求是否得到了正确的执行。
开启mysql查询日志:
查看是否已开启:
查看查询日志内容:
-------------------------------------------------------------------------------------------------------
二进制日志(binary log):
二进制日志记录了对mysql数据库执行的更改的所有操作,但不包括SELECT和SHOW这类操作,因为这类操作
对数据本身并没有修改。如果用户想记录SELECT和SHOW操作,那只能使用查询日志。此外,二进制日志还包括
了执行数据库更改操作的时间等其他额外信息。总的来说,二进制日志主要有以下几个作用:
- 恢复:通过二进制日志可以恢复全部数据,也能进行point-in-time的恢复;
- 复制:其原理和恢复类似,通过复制和执行二进制日志使多台数据库进行数据实时同步;
- 审计:用户可以通过二进制日志中的信息来判断是否有对数据库进行注入的攻击;
- max_binlog_size:指定了单个二进制文件的最大值,如果超过该值,则产生新的二进制文件,后缀名+1
- binglog_cache_size:当使用事务的存储引擎时,所有未提交的更改会写入到二进制缓冲,该值为缓冲大小
- sync_binlog
- binlog_do-db
- binlog-ignore-db
- log-slave-update
- binlog_format:记录二进制日志的格式,该参数可设置的值有:STATEMENT,ROW,MIXED(默认)
- innodb_log_file_size:指定每个重做日志的大小
- innodb_log_file_in_group:指定日志文件组中重做日志文件的数量,默认为2
- innodb_mirrored_log_group:指定了日志镜像文件组的数量,默认为1
- innodb_log_group_home_dir:指定日志文件组所在的路径,默认为./