Wil*_*hes 11 mysql max-connections mysql-5.5 users
我需要一个查询,它可以为某个用户提供与某个数据库的活动或打开的连接数。我一直在寻找几个小时,到目前为止一无所获。我很接近,所以这是我尝试过的。
SHOW STATUS WHERE `variable_name` = 'Threads_connected';
SHOW STATUS LIKE '%onn%';
SELECT * FROM information_schema.processlist WHERE USER='database_user';
我在一家网络托管公司工作,我们的一个客户一直在达到他的max_user_connections
极限,所以在解决为什么我需要知道他的用户现在使用了多少连接时,因为他不是共享服务器。我目前使用 MySQL (InnoDB) 版本 5.5.36。任何帮助将不胜感激!
Rol*_*DBA 17
您需要的是按用户和主机名以及总数的细分
SELECT IFNULL(usr,'All Users') user,IFNULL(hst,'All Hosts') host,COUNT(1) Connections
FROM
(
SELECT user usr,LEFT(host,LOCATE(':',host) - 1) hst
FROM information_schema.processlist
WHERE user NOT IN ('system user','root')
) A GROUP BY usr,hst WITH ROLLUP;
Run Code Online (Sandbox Code Playgroud)
这将处理具有冒号分隔主机名和端口号的主机地址
我希望每个人都不要以 root 身份登录
Isa*_*oho -1
对此进行了详细讨论:https ://dba.stackexchange.com/a/47160/385
简而言之,您需要的查询是
SELECT max_user_connections FROM mysql.user
WHERE user='db_user' AND host='localhost';
和
SHOW VARIABLES LIKE 'max_user_connections';
更新
也许这不是你问题的直接答案,但是根据http://dev.mysql.com/doc/refman/5.5/en/user-resources.html MySQL允许你限制每小时的访问次数。因此,也许这可以解释为什么某个用户达到限制,而根据进程列表,其连接数却很小。不幸的是,我找不到有关如何获取访问计数器的参考。
归档时间: |
|
查看次数: |
27292 次 |
最近记录: |