10.七、mysql日志:

mysql生成或相关联的日志文件种类繁多,这里重点关注与mysql数据库服务相关mysql

的几类日志文件:sql

一、错误日志:数据库

记录mysql服务进程mysql的在启动/关闭/运行过程当中遇到的错误信息;session

[mysqld_safe]日志

log-error=/data/3306/mysql.errcode

二、查询日志:orm

(1)普通查询日志:索引

记录客户端链接信息和执行的sql语句信息;进程

[mysqld]io

#general_log = ON

#将全部到达MySQL Server的SQL语句记录下来,默认关闭

#general_log_file = /data/3306/data

#general_log,默认在数据库的data目录下;

(2)慢查询日志:

记录执行时间超出指定值(log_query_time)的sql语句;

[mysqld]

slow_query_log = ON

long_query_time = 2

slow_query_log_file = /data/3306/mysql-slow.log

#log-queries-not-using-indexes

#若是运行的SQL语句没有使用索引,mysql会将这条SQL语句记录到慢查询日志文件中。

三、二进制日志:

记录数据被修改的相关信息;

[mysqld]

log-bin = /data/3306/mysql-bin

#打开mysql的binlog日志;

max_binlog_size = 512M

#binlog的最大值是多少;

expire_logs_days = 7

#超过7天的binlog会被删除;

mysql> show variables like '%log_bin%';

sql_log_bin ON

#通常打开log-bin就打开了sql_log_bin记录功能,使用set global sql_log_bin=off时

临时不记录binlog开关,用于增量恢复时不记录某个时间点的binlog;

3 rows in set (0.01 sec)

(1)二进制的三种模式:

1)语句级:

statement(默认),包含的是原始的sql语句;

2)行级:

row,包含的是行的更改信息;

3)混合级:

mixed,前两种模式的结合,mysql根据实际开销状况选择到底选择哪一种二进制模式;

4)修改binlog模式的方法:

配置文件修改my.cnf:

[mysqld]

binlog_format = mixed #row,statement

在线修改:

set session binlog_format = mixed;

set global binlog_format = mixed;

5)查看binlog日志的方法:

binlog日志模式为row或者时statement时使用‘mysqlbinlog /data/3306/mysql-bin.000007’命令查看;

binlog日志模式为mixed时,使用‘mysqlbinlog --base64-output=decode-rows -v /data/3306/mysql-bin.000007’命令查看;

6)查看binlog的pos点:

show master logs; #查看binlog文件和对应的pos点的列表;

show master status; #查看当前binlog文件和对应的pos点;

7)对日志文件进行切割的手动方法:

mysqladmin -uroot -p123456 flush-log

相关文章
相关标签/搜索