mysql开启slowquery_log_MySQL命令行开启slow.log失败解决_MySQL

bitsCN.com

MySQL命令行开启slow.log失败解决

有需要去看下slow.log,但是发现slow.log好久没写了。

看了下服务器设置:

root@(none) 01:13:41>show global variables like '%slow%';

+---------------------+-------------------------+

| Variable_name | Value |

+---------------------+-------------------------+

| log_slow_queries | OFF |

| slow_launch_time | 2 |

| slow_query_log | OFF |

| slow_query_log_file | /u01/mysql/log/slow.log |

+---------------------+-------------------------+

4 rows in set (0.00 sec)

关闭的,于是开启,竟然报错。

root@(none) 01:14:27>set global slow_query_log=1;

ERROR 1146 (42S02): Table 'mysql.slow_log' doesn't exist

发现mysql.slow_log表不存在,desc了下,确实不存在。该表,是当开启参数log_output设置为table的时候,slow.log会记录到这个表里面,但是由于记录该表会对性能有影响,所以一般都是记录到FILE里面,然后再用脚本来处理。

那么难道写FILE也必须该表存在吗?

我手动把这个表建上。

// 不让该操作写到binlog中

set session sql_log_bin=0;

use mysql

CREATE TABLE `slow_log` (

`start_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

`user_host` mediumtext NOT NULL,

`query_time` time NOT NULL,

`lock_time` time NOT NULL,

`rows_sent` int(11) NOT NULL,

`rows_examined` int(11) NOT NULL,

`db` varchar(512) NOT NULL,

`last_insert_id` int(11) NOT NULL,

`insert_id` int(11) NOT NULL,

`server_id` int(10) unsigned NOT NULL,

`sql_text` mediumtext NOT NULL

) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'

然后:

root@mysql 01:34:02>set global slow_query_log=1;

Query OK, 0 rows affected (0.00 sec)

设置ok,来测试下:

root@(none) 01:35:40>select sleep(2);

+----------+

| sleep(2) |

+----------+

| 0 |

+----------+

1 row in set (2.00 sec)

slow.log里面:

Time: 130124 13:35:52

# User@Host: root[root] @ localhost []

# Query_time: 2.002410 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0

SET timestamp=1359005752;

select sleep(2);

设置成功。

总结:

mysql.slow_log表还是必须的,没有这个表slow log 也不能输出到FILE。

bitsCN.com

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

TAG标签:服务器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值