mysql 开启日志记录并且解决日志时间错误问题
注:(1)mysql版本5.7 ubuntu16.04
(2)为了简明的查询日志,我在系统默认mysql日志文件夹中对日志进行了分类,并把赋予正确的权限
[code]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
一、开启二进制日志
查看二进制日志是否开启
[code]mysql> show variables like 'log_bin';
编辑mysql配置文件
[code]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
重启
[code]service mysql restart
再次查询二进制日志状态
删除二进制日志
[code]mysql> reset master;
查看日志列表
[code]mysql> show binary logs;
查看某个日志,输入名称和上面的日志列表要对应上。
[code]mysql> show binlog events in 'mysql-bin.000002'\G;
二、开启查询日志
[code]#查看日志开启状态 mysql> SHOW VARIABLES LIKE 'general%';
[code]#开启日志 mysql> SET GLOBAL general_log = 'ON';
本人mysql版本5.7 在查询日志的时候发现时间和系统时间不对
[code]#查看系统默认时间参数 mysql> SELECT @@log_timestamps;
[code]#重设 mysql> SET GLOBAL log_timestamps=SYSTEM;
再去查看日志文件 就ok了
不过 ,这种形式在重启mysql后失效,那么就需要在配置文件更改
还是一样,编辑配置文件
找到这两个,去掉注释即可
general_log_file = /var/log/mysql/general/mysql-general.log
general_log = 1#加上这一行,设置时间
log_timestamps = SYSTEM
重新生成查询日志
[code]mysql> flush logs;
三、开启慢查询日志
编辑mysql配置文件
[code]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
然后重启就可以 。
删除慢查询日志
[code]mysql> set global slow_query_log=0;
生成一个新的慢查询日志文件:
[code]mysql> set global slow_query_log=1;
- 启用mysql日志记录执行过的sql并且开启慢查询记录所有超过慢查询时间的SQL以及未使用索引SQL
- JIRA开启时间追踪并为问题记录工作日志
- JIRA开启时间追踪并为问题记录工作日志
- 解决在Windows和Windows Server的应用程序日志中记录了”事件ID 4107”或”事件ID 11”错误问题
- 记录3——快速检查机器的各种实时错误日志并且及时定位问题
- 解决mysql开启GTID主从同步出现1236错误问题
- 解决mysql开启GTID主从同步出现1236错误问题 推荐
- 解决Apache的错误日志巨大的问题以及关闭Apache web日志记录
- UBUNTU开启CRONTAB日志记录及解决NO MTA INSTALLED, DISCARDING OUTPUT问题
- JIRA开启时间追踪并为问题记录工作日志
- 记录3——快速检查机器的各种实时错误日志并且及时定位问题———修订版1
- 今天搞log4net插入错误日志去mysql数据库的时候出现了点问题,已解决。记录下解决方案
- 解决在Windows和Windows Server的应用程序日志中记录了”事件ID 4107”或”事件ID 11”错误问题
- 解决mysql开启GTID主从同步出现1236错误问题
- mysql问题之slow log中出现大量的binlog dump记录的解决方法
- 如何解决Mysql "发生系统错误2,找不到指定的文件" 的问题(第一次安装使用)
- 64位win7下使用C_API编写mysql程序的错误及解决办法记录
- 安装Mysql提示1045错误解决方法(这个问题我纠结好几个小时,终于解决了!)
- Websphere设置JVM时区解决程序、日志时间快8小时问题
- 解决QQ2009在win7中时间显示错误问题