MYSQL HELP: $result = $db->query("SHOW FULL PROCESSLIST"); while ($row=mysql_fetch_array($result)) { $process_id=$row["Id"]; if ($row["User"] != "root" ) { print("KILLED: " . $process_id); $sql="KILL $process_id"; mysql_query($sql);
谢谢,我是楼主, show full processlist 得到所有的连接,我怎么知道应该终止哪个, 如果一个User可以同时有几个连接,只是想把某个myswl_query终止掉
$result = $db->query("SHOW FULL PROCESSLIST"); while ($row=mysql_fetch_array($result)) { $process_id=$row["Id"]; 得到数组,循环,自己测试一下就知道了
你可以用 SELECT * FROM information_schema.`PROCESSLIST` P where user = 'username' and host='hostname' and db='myddb' and command='Query' and state='executing' and info='select ... your sql statement'来得到你的那个coonect id,然后kill掉即可。
我是楼主, 我是发送的2次请求到php,第一次是执行mysql_query, 第二次是 kill, 第二次时候怎么得到第一次时候的id呢 SHOW FULL PROCESSLIST 我能得到这个数组,怎么得到第一次的id呢, 能不能用某些函数在第一次时候获得 query线程的id,写到文件, 然后第二次用这个id去kill
$result = $db->query("SHOW FULL PROCESSLIST");
while ($row=mysql_fetch_array($result)) {
$process_id=$row["Id"];
if ($row["User"] != "root" ) {
print("KILLED: " . $process_id);
$sql="KILL $process_id";
mysql_query($sql);
show full processlist 得到所有的连接,我怎么知道应该终止哪个, 如果一个User可以同时有几个连接,只是想把某个myswl_query终止掉
while ($row=mysql_fetch_array($result)) {
$process_id=$row["Id"];
得到数组,循环,自己测试一下就知道了
SELECT * FROM information_schema.`PROCESSLIST` P
where user = 'username'
and host='hostname'
and db='myddb'
and command='Query'
and state='executing'
and info='select ... your sql statement'来得到你的那个coonect id,然后kill掉即可。
我是发送的2次请求到php,第一次是执行mysql_query, 第二次是 kill, 第二次时候怎么得到第一次时候的id呢
SHOW FULL PROCESSLIST 我能得到这个数组,怎么得到第一次的id呢, 能不能用某些函数在第一次时候获得 query线程的id,写到文件, 然后第二次用这个id去kill