undo日志什么时候清除
还有一点需要注意,事务共享表空间中写入undo日志的过程同样需要写入redo日志,事务一旦提交,也就意味着事务的持久性生效,那么undo日志则不被需要,但是innodb并不会把这个undo日志直接删除,而是放在一个undo日志的链表中,到底什么时候删除取决于mysql的purge线程,这样做是为了避免其他的事务需要通过undo日志来得到这条记录之前的版本。
如何删除mysql日志文件
如果没有主从复制,可以通过resetmaster的方式,重置数据库日志,清除之前的日志文件: ?代码如下 mysql>resetmaster; 还有一各就是在my.cnf里配置。 ?代码如下 expire_logs_days=3 二进制日志自动删除的天数。这里设置了自动清除3天前的logs。 默认值为0,表示“没有自动删除”。
对MySQL慢查询日志进行分析的基本教程
开启慢查询日志
mysql>setglobalslow_query_log=1;
定义时间SQL查询的超时时间
mysql>setgloballong_query_time=0.005;
查看慢查询日志的保存路径
mysql>showglobalvariableslike'slow_query_log_file';
查看慢查询
cat/var/log/mysql/slow.log
如何按照时间段打印mysql的慢日志
在MySQL客户端中输入命令:show variables like '%quer%';其中红框标注的选项是:
-slow_query_log是否记录慢查询。用long_query_time变量的值来确定“慢查询”。-slow_query_log_file慢日志文件路径-long_query_time慢日志执行时长(秒),超过设定的时间才会记日志Linux:在/etc/my.cnf配置文件的[mysqld]选项下增加:
slow_query_log=TRUEslow_query_log_file=/usr/local/mysql/slow_query_log.txtlong_query_time=3Windows:在my.ini配置文件的[mysqld]选项下增加:
slow_query_log=TRUEslow_query_log_file=c:/slow_query_log.txtlong_query_time=3重启MySQL后,可发现已经开启慢查询日志