您的当前位置:首页正文

mysql文件,日志

2020-11-09 来源:我们爱旅游

1、mysql的文件
mysql数据库包含如下几种文件类型:
a.数据文件(datafile):存放表中的具体数据文件。
b.数据字典:记录数据库中所有Innodb表的信息。
c.重做日志(redolog):记录数据库变更记录的文件,用于系统异常crash(掉电)后的恢复操作,可以配置多个比如:ib_logfile0、ib_logfile1.
d.回滚日志(undolog):也存在与mysql的ibdata文件,用户记录事物的回滚操作。
e.归档日志(binlog):事物提交之后,记录到归档日志中。
f.其他日志:slowlog、errorlog、querylog。


2、mysql的日志:
a.binary log:记录所有更改数据的语句。还用于复制
作用:恢复、复制、审计。
开启方法:
[mysqld]
log-bin =mysql-bin
二进制日志格式:--binlog-format={row |STATEMENT| MIXED }
statement:基于语句记录
row:基于行的记录, 将明确记录表的每行记录发生的变化。使用这种日志记录方式
MIXED:混合记录,默认情况下基于语句记录日志,特殊情况下也能自动切换成基于行记录
注意:在此之前的MySQL5.7.7,基于语句的日志记录格式是默认的。在MySQL5.7.7或更高版本,基于行的日志记录格式是默认的。
影响二进制日志记录行为的参数:
max-binlog-size:
binlog-cache-size
sysnc-binlog
binlog-do-db
binlog-ignore-db
log-slave-update
binlog-format
mysql-bin.index:文件是binary log index 的功能是记录所有binary log的绝对路径,保证MySQL各种线程能够顺利的根据它找到所有需要的binary log文件.
b.Error log 错误日志
1、记录了服务器运行中产生的错误信息
2、记录了服务在启动和停止是所产生的信息
3、在从服务器上如果启动了复制进程的时候,复制进程的信息也会被记录
启用错误日志:默认情况下,系统已近将其自动启动
在主配置文件中:
log-error= 指定错误日志的位置,这个位置myaql用户必须有写权限

错误级别:
ERROR_LEVEL-->错误级别
WARNING_LEVEL-->警告级别
NOTE_LEVEL-->信息级别

c.General-log
通用查询日志:记录建立的客户端连接和执行的语句

d.slow log 慢日志:默认是10s long_query_time = 10s 建议改成1s
记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询
2.常用的参数详解:
注意:修改以下参数, 需要重新启动数据库服务才会生效。
slow_query_log=off|on --是否开启慢查询日志
slow_query_log_file=filename --指定保存路径及文件名,默认为数据文件目录,hostname-slow.loglong_query_time=2 --指定多少秒返回查询的结果为慢查询
long-queries-not-using-indexes   --记录所有没有使用到索引的查询语句
min_examined_row_limit=1000    --记录那些由于查找了多余1000次而引发的慢查询
long-slow-admin-statements     --记录那些慢的optimize table,analyze table和alter table语句
log-slow-Slave-statements     --记录由Slave所产生的慢查询