[mysqld]
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 1
log_queries_not_using_indexes
log_queries_not_using_indexes # 未使用索引的也记录
slow.log 要有MySQL.mysql 权限
chown -R mysql:mysql slow.log
chmod -R 755 slow.log
重启 : service mysqld restart
测试 : select sleep(2);
结果 :
在my.cnf配置文件中调整,注意,是在[mysqld_safe]或[mysqld]模块的下面进行配置。命令如下:
[mysqld]
log-error = /data/mysql/error.err
#/data/mysql/error.err 都是自己手动创建的,记得修改所属的用户与所属的组为mysql ,或者修改操作权限
chown -R mysql:mysql /data/mysql
chmod -R 755 /data/mysql
server-id = 1 #(参数在1-65535之间,必须唯一)
log-bin=/mysql/bin_log/mysql_binlog # 配置好log_bin 二进制日志自动开启
#/ mysql/bin_log 提前创建好的目录有mysql.mysql 权限
# mysql_binlog 是 二进制文件名(mysql_binlog.00001)
show variables like 'log_bin';
show binary logs;
1.查看二进制文件存储位子
show variables like "%log_bin%";
2.查看真在使用的日志
show master status;
3.查看日志事件
show binlog events in 'mysql-bin.000004';
4.截取日志事件内容
./mysqlbinlog --base64-output=decode-rows -vvv /usr/local/mysql/var/mysql-bin.000016;
4.2 截取
(1) ./mysqlbinlog --start-datetime='2018-01-08 02:01:00' --stop-datetime='2018-01-08 02:30:10' /var/lib/mysql/mysql-bin.000170 > /tmp/time.sql
(2) ./mysqlbinlog --start-position=219 --stop-position=335 /usr/local/mysql/var/mysql-bin.000016 > /tmp/log.sql
(3) ./mysqlbinlog -d test --start-position=219 --stop-position=335 /usr/local/mysql/var/mysql-bin.000016 > /tmp/log.sql
### -d 指定某个库
4.3 恢复数据
set sql_log_bin = 0; # 此窗口 二进制文件关闭,防止恢复数据产生新的二进制
source /tmp/log.sql;
set sql_log_bin = 1;
因篇幅问题不能全部显示,请点此查看更多更全内容