mysql 开启日志记录并且解决日志时间错误问题

注:(1)mysql版本5.7  ubuntu16.04

       (2)为了简明的查询日志,我在系统默认mysql日志文件夹中对日志进行了分类,并把赋予正确的权限

root@localhostserver:/var/log/mysql# mkdir bin
root@localhostserver:/var/log/mysql# mkdir general
root@localhostserver:/var/log/mysql# mkdir slow
root@localhostserver:/var/log/mysql# mkdir error
root@localhostserver:/var/log/mysql# chown -R mysql:mysql bin/
root@localhostserver:/var/log/mysql# chown -R mysql:mysql error
root@localhostserver:/var/log/mysql# chown -R mysql:mysql slow/
root@localhostserver:/var/log/mysql# chown -R mysql:mysql general/
#删除以前系统自己生成的日志,可保留
root@localhostserver:/var/log/mysql# rm -R error.log*
root@localhostserver:/var/log/mysql# rm -R mysql-bin.*
root@localhostserver:/var/log/mysql# rm mysql-general.log


 

一、开启二进制日志

查看二进制日志是否开启

mysql> show variables like 'log_bin';

fb1f5970dd0b48989f88ad4dd38a3f86781.jpg

编辑mysql配置文件

vi /etc/mysql/mysql.conf.d/mysqld.cnf 

注意log-bin和log_bin这个坑 

server-id               = 1
log-bin = /var/log/mysql/bin/mysql-bin.log
#log_bin                        = /var/log/mysql/mysql-bin.log
 

重启

service mysql restart

再次查询二进制日志状态

0ccc7c09ed2c68d16411c7d5672e24884c2.jpg

删除二进制日志

mysql> reset master;

查看日志列表

mysql> show binary logs;

5e23fefa14b4e652c5d62e4d559a30e1dd5.jpg

查看某个日志,输入名称和上面的日志列表要对应上。

mysql> show binlog events in 'mysql-bin.000002'\G;

二、开启查询日志

#查看日志开启状态
mysql> SHOW VARIABLES LIKE 'general%';


832543c14255966e8d5336fb4b93a73353f.jpg

#开启日志
mysql> SET GLOBAL general_log = 'ON';

258643bcf5b72b2b502fd3e56ac748415d5.jpg

本人mysql版本5.7  在查询日志的时候发现时间和系统时间不对

69010256a6be179edce8181cdf05a3acc00.jpg

#查看系统默认时间参数

mysql> SELECT @@log_timestamps;

e38b0c9484cacc5ece9e6a640c6ae92557a.jpg

#重设

mysql> SET GLOBAL log_timestamps=SYSTEM; 

432e2927165003d7f235f7f2b06d981cf35.jpg

再去查看日志文件  就ok了

不过 ,这种形式在重启mysql后失效,那么就需要在配置文件更改

还是一样,编辑配置文件

找到这两个,去掉注释即可

general_log_file        = /var/log/mysql/general/mysql-general.log
general_log             = 1

#加上这一行,设置时间

log_timestamps = SYSTEM

重新生成查询日志

mysql> flush logs;

三、开启慢查询日志

编辑mysql配置文件

vi /etc/mysql/mysql.conf.d/mysqld.cnf 

 找到如下,注意第一行的注释是配置文件原有的,在我的服务器上直接去掉注释重启会报错,改成下面的格式才能够重启成功。

类似于上面开启bin-log一样的坑。

#log_slow_queries    = /var/log/mysql/mysql-slow.log

slow_query_log=/var/log/mysql/slow/mysql-slow.log
long_query_time = 2 
#这个时间单位为秒,也就是指 执行速度超过2秒的语句会被记录
log-queries-not-using-indexes

然后重启就可以 。

删除慢查询日志

mysql> set global slow_query_log=0;

生成一个新的慢查询日志文件:

mysql> set global slow_query_log=1;

猜你喜欢

转载自blog.csdn.net/qq_38157006/article/details/89952498