找到MySql的配置文件,然后注释以下两行即可(即在行首添加#符号就好了)。然后重启MySql服务
log-bin=mysql-bin
binlog_format=mixed
二、删除日志1)手动删除日志
手动删除日志的基本语法如下:
PURGE {MASTER | BINARY} LOGS TO'log_name'
PURGE {MASTER | BINARY} LOGSBEFORE 'date'
①、查看当前日志:
show binary logs
②、查看第一个二进制日志
show binlog events
③、删除指定日志之前的日志
PURGE MASTER LOGS TO'mysql-bin.010'
④、删除指定日期之前的日志
PURGE MASTER LOGS BEFORE'2018-7-12 13:00:00'
⑤、删除N天前的日志
PURGE MASTER LOGS BEFOREDATE_SUB( NOW( ), INTERVAL N DAY)如下面的语句可以清除 7 天前的binlog,
PURGE MASTER LOGS BEFOREDATE_SUB( NOW( ), INTERVAL 7 DAY)
注意:BEFORE变量的date自变量可以为'YYYY-MM-DDhh:mm:ss'格式。MASTER和BINARY是同义词。
2)自动删除日志
①、第一种方式:设置日志保存时间
修改MySql的配置文件,设置以下属性:expire_logs_days=10。这个值根据实际情况来定。当然对于生产环境修改配置文件需要重启,这个代价可能会很大,还可以通过这个命令来修改生效set global expire_logs_days = 10
②、第二种方式:设置定时任务
0 3 * * * `mysql -uroot -e 'PURGE BINARY LOGS BEFOREDATE_SUB( NOW( ), INTERVAL 7 DAY)'`
上面的命令是每天凌晨3点删除7天前的binlog:
查询日志记录 MySQL 中所有的 query,通过“—log[=fina_name]”来打开该功能。由
于记录了所有的 query,包括所有的 select,体积比较大,开启后对性能也有较大的影响, 所以请大家慎用该功能。 一般只用于跟踪某些特殊的sql 性能问题才会短暂打开该功能。默认的查询日志文件名为 hostname.log。
慢查询日志
顾名思义,慢查询日志中记录的是执行时间较长的 query,也就是我们常说的 slow
query,通过设 —log-slow-queries[=file_name]来打开该功能并设置记录位置和文件名, 默认文件名为 hostname-slow.log,默认目录也是数据目录。
慢查询日志采用的'是简单的文本格式, 可以通过各种文本编辑器查看其中的内容。中其 记录了语句执行的时刻,执行所消耗的时间,执行用户,连接主机等相关信息。MySQL 还提 供了专门用来分析满查询日志的工具程序mysqlslowdump, 用来帮助数据库管理人员解决可 能存在的性能问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)