特定のユーザーに対して、特定のデータベースへのアクティブな接続数または開いている接続数を取得するクエリが必要です。私は何時間も探していましたが、今のところ何も思いつきませんでした。私は近くにいるので、ここで試してみました。
SHOW STATUS WHERE `variable_name` = 'Threads_connected';
SHOW STATUS LIKE '%onn%';
SELECT * FROM information_schema.processlist WHERE USER='database_user';
私はウェブホスティング会社で働いていますが、クライアントの1人がmax_user_connections
制限なので、トラブルシューティングでは、ユーザーが共有サーバーではないため、ユーザーが現在使用している接続数を知る必要があるのはなぜですか。現在、MySQL(InnoDB)バージョン5.5.36を使用しています。どんな助けでも大歓迎です!
必要なのは、ユーザーとホスト名別の内訳と合計
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;
これは、ホスト名とポート番号をコロンで区切ったホストアドレスを処理します
誰もがrootとしてログインしていないことを願っています