Open alsmn opened 1 year ago
SELECT r.checksum,r.fingerprint,h.db_max,h.user_max,r.last_seen,SUM(h.ts_cnt) AS ts_cnt,
ROUND(MIN(h.Query_time_min),3) AS Query_time_min,ROUND(MAX(h.Query_time_max),3) AS Query_time_max,
ROUND(SUM(h.Query_time_sum)/SUM(h.ts_cnt),3) AS Query_time_avg,r.sample
FROM mysql_slow_query_review AS r JOIN mysql_slow_query_review_history AS h
ON r.checksum=h.checksum
WHERE h.db_max = '${select_dbname}'
AND r.last_seen >= SUBDATE(NOW(),INTERVAL 31 DAY)
GROUP BY r.checksum
ORDER BY r.last_seen DESC,ts_cnt DESC LIMIT 10;
你执行这个SQL,有返回数据吗?
SELECT r.checksum,r.fingerprint,h.db_max,h.user_max,r.last_seen,SUM(h.ts_cnt) AS ts_cnt, ROUND(MIN(h.Query_time_min),3) AS Query_time_min,ROUND(MAX(h.Query_time_max),3) AS Query_time_max, ROUND(SUM(h.Query_time_sum)/SUM(h.ts_cnt),3) AS Query_time_avg,r.sample FROM mysql_slow_query_review AS r JOIN mysql_slow_query_review_history AS h ON r.checksum=h.checksum WHERE h.db_max = '${select_dbname}' AND r.last_seen >= SUBDATE(NOW(),INTERVAL 31 DAY) GROUP BY r.checksum ORDER BY r.last_seen DESC,ts_cnt DESC LIMIT 10;
你执行这个SQL,有返回数据吗?
我执行这个sql报错了,因为select的列不在group by中,我修改了mysql的sql_mode参数,现在执行这个sql已经不报错了,不过没有返回数据,而且打开slowquery.php页面还是依然报那几个错
现在我把sql中的“31 DAY”改的大一些,执行sql是可以查到数据的,但是slowquery.php页面那4个报错不知道怎么办
现在我把sql中的“31 DAY”改的大一些,执行sql是可以查到数据的,但是slowquery.php页面那4个报错不知道怎么办
修改slowquery.php文件,在第一行加入以下代码:
ini_set("display_errors", "Off");
error_reporting(E_ERROR | E_WARNING | E_PARSE);
你再试试。
谢谢, (1)加了这两行,确实不报错了,可是您这是把报错屏蔽了吧,在日志里这些报错还是可以看到的 (2)slowquery.php页面下面可以看到慢查询语句,但是页面上面慢查询分析图表没有任何曲线信息,图表是空的,这个您知道咋回事儿不
谢谢, (1)加了这两行,确实不报错了,可是您这是把报错屏蔽了吧,在日志里这些报错还是可以看到的 (2)slowquery.php页面下面可以看到慢查询语句,但是页面上面慢查询分析图表没有任何曲线信息,图表是空的,这个您知道咋回事儿不
1)Notice提示信息没事,忽略就行。 2)修改一下get_graph_data.php文件和get_top_data.php文件,把默认的14 DAY改成90 DAY,你再试试。
两个14都改成90了,图表还是空的,get_graph_data.php里的“INTERVAL 1 DAY ”也需要改成90吗
两个14都改成90了,图表还是空的,get_graph_data.php里的“INTERVAL 1 DAY ”也需要改成90吗
对的。你查下面的sql有数据吗?
SELECT db_max,user_max,SUM(ts_cnt) AS top_count FROM (SELECT h.db_max,h.user_max,SUM(h.ts_cnt) AS ts_cnt FROM mysql_slow_query_review AS r JOIN mysql_slow_query_review_history AS h ON r.checksum=h.checksum WHERE r.last_seen >= SUBDATE(NOW(),INTERVAL 14 DAY) GROUP BY r.checksum) AS tmp GROUP BY tmp.db_max;
把sql_mode设置为空,关闭它。
我把 “INTERVAL 1 DAY ” 改了 “INTERVAL 14 DAY ”,图表就有数据了
两个14都改成90了,图表还是空的,get_graph_data.php里的“INTERVAL 1 DAY ”也需要改成90吗
对的。你查下面的sql有数据吗?
SELECT db_max,user_max,SUM(ts_cnt) AS top_count FROM (SELECT h.db_max,h.user_max,SUM(h.ts_cnt) AS ts_cnt FROM mysql_slow_query_review AS r JOIN mysql_slow_query_review_history AS h ON r.checksum=h.checksum WHERE r.last_seen >= SUBDATE(NOW(),INTERVAL 14 DAY) GROUP BY r.checksum) AS tmp GROUP BY tmp.db_max;
这条sql有数据
我把 “INTERVAL 1 DAY ” 改了 “INTERVAL 14 DAY ”,图表就有数据了
哦了。👌🏻
但是点开sql,显示执行计划后,日志里报“sh: line 41 : ctcm_version_test_object:command not found "
但是点开sql,显示执行计划后,日志里报“sh: line 41 : ctcm_version_test_object:command not found "
这个报错我第一次见,代码里没有调用这个。你截图看看?
那个小米的soar命令,你设置一下chmod 755 soar
那个小米的soar命令,你设置一下chmod 755 soar
不过这个提前都已经设置了,是755,可是还是报“sh: line 41 : ctcm_version_test_object:command not found " 这个错
那个小米的soar命令,你设置一下chmod 755 soar
之前报过一个权限不足的错,改成755就好了,但是“sh: line 41 : ctcm_version_test_object:command not found " 这个错还是在报,也是在点开执行计划的时候报的
$html_str=system("$sql_advisor_export | ./soar/soar -online-dsn='${user}:${pwd}@${ip}:${port}/${dbname}' -test-dsn='$test_user:$test_pwd@$test_ip:$test_port/$test_db' -report-type='html' -explain=true -log-output=./soar.log");
把这段代码注销一下,去掉soar试试。
注销后,再点sql语句想看执行计划下面就不显示执行计划了,看不了执行计划了,并且了报了 “undefined variable : html_str ” 这个错
注销后,再点sql语句想看执行计划下面就不显示执行计划了,看不了执行计划了,并且了报了 “undefined variable : html_str ” 这个错
echo $html_str;再把这个注销掉,就不调用soar了。之前那个报错已经定位是soar工具的报错信息。直接屏蔽掉就可以了。
那个小米的soar命令,你设置一下chmod 755 soar
之前报过一个权限不足的错,改成755就好了,但是“sh: line 41 : ctcm_version_test_object:command not found " 这个错还是在报,也是在点开执行计划的时候报的
你下载一个最新版的soar试试,把之前的那个替换掉。 `
`
加了 echo $html_str; ,然后注释了“$html_str=system("$sql_adviso.....“这行,然后如果点具体的sql的话,进入到执行计划页面,会报slowquery_explain.php 94行和96行的错
加了 echo $html_str; ,然后注释了“$html_str=system("$sql_adviso.....“这行,然后如果点具体的sql的话,进入到执行计划页面,会报slowquery_explain.php 94行和96行的错
直接屏蔽soar,78-98行全部删了
直接吧 78-98行全部 注释了,日志里还是报“sh: line 41 : ctcm_version_test_object:command not found " 这个
直接吧 78-98行全部 注释了,日志里还是报“sh: line 41 : ctcm_version_test_object:command not found " 这个
这个我不清楚了,确实没有遇到过这个错误。我的PHP文件里没有调用过ctcm_version_test_object,你在一台干净的Centos7机器里部署一下。
页面中可以选择db,但是在页面中的不同位置,可以看到这几个报错: Notice: Undefined index: action in /usr/local/apache2/htdocs/slowquery.php on line 4 Notice: session_start(): A session had already been started - ignoring in /usr/local/apache2/htdocs/slowquery.php on line 79 Notice: session_start(): A session had already been started - ignoring in /usr/local/apache2/htdocs/slowquery.php on line 109 Notice: Undefined index: page in /usr/local/apache2/htdocs/slowquery.php on line 113 Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, bool given in /usr/local/apache2/htdocs/slowquery.php on line 152