1)日志种类
error log:错误日志 拍错 /var/log/mysqld.log \这是yum安装mysqld生成error默认目录
bin blog 二进制日志 备份 增量备份,记录DDL,DML,DCL语句,不记录DQL语句
relay log:中继日志 复制 主从复制,从接收日志放入到relay log中
slow log:慢查询日志 调优 调优,查询时间超过指定
general_log:普通查询日志 DQL语句
2)错误日志,默认开启
#vim /etc/my.cnf
[mysqld]
log-error=/var/log/mysqld.log
3)二进制日志、
- 定义
#vim /etc/my.cnf
[mysqld]
log-bin=/data/mydata/mysql-bin/master \\这个目录属组是mysql,如果mysql用户没有权限,数据库重启不正常
server-id=1
mkdir -pv /data/mydata/mysql-bin/
chown -R mysql.mysql /data/mydata/mysql-bin/
systemctl restart mysqld
# ll /data/mydata/mysql-bin/
total 8
-rw-r----- 1 mysql mysql 154 Apr 24 07:32 master.000001
-rw-r----- 1 mysql mysql 37 Apr 24 07:32 master.index
- 查看二进制日志文件:只记录DDL,DML,DCL语句
mysqlbinlog -v /data/mydata/mysql-bin/master.000001 - 刷新截断二进制日志文件
方法一:重启mysql
方法二:mysql> flush logs;
方法三:mysql> reset master; \注意:reset master删除所有的binlog日志 - 暂停DDL,DML,DCL语句记录到二进制日志文件
mysql >set sql_log_bin=0; 暂停
mysql >set sql_log_bin=0; 不暂停 - 截取binlog:主要用于数据库恢复
all:mysqlbinlog master.000001
时间戳:mysqlbinlog master.000001 --start-datetime="" --stop-datetime=""
position:mysqlbinlog master.000001 --start-position=1 --stop-position=300
4)慢查询日志
- 定义
#vim /etc/my.cnf
[mysqld]
slow_query_log=1
slow_query_log_file=/data/mydata/mysql-slow/slow.log
long_query_time=1
mkdir -pv /data/mydata/mysql-slow
chown -R mysql.mysql /data/mydata/mysql-slow
systemctl restart mysqld
- 测试慢查询日志
mysql>select benchmark(50000000,2*3); - 验证
/usr/sbin/mysqld, Version: 5.7.22-log (MySQL Community Server (GPL)). started with:
Tcp port: 0 Unix socket: /var/lib/mysql/mysql.sock
Time Id Command Argument
# Time: 2018-04-24T13:20:59.174030Z
# User@Host: root[root] @ localhost [] Id: 2
# Query_time: 1.007382 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0
SET timestamp=1524576059;
select benchmark(100000005,2*3);