Kullanıcı başına etkin MySQL bağlantılarını görüntüleme


9

Bana belirli bir kullanıcı için belirli bir veritabanına etkin veya açık bağlantı sayısını verecek bir sorguya ihtiyacım var. Saatlerdir aradım ve şimdiye kadar hiçbir şey bulamadım. Yakınım, işte burada denedim.

  1. SHOW STATUS WHERE `variable_name` = 'Threads_connected';

  2. SHOW STATUS LIKE '%onn%';

  3. SELECT * FROM information_schema.processlist WHERE USER='database_user';

Bir web hosting şirketi için çalışıyorum ve müşterilerimizden biri max_user_connectionssınırına ulaşmaya devam ediyor , bu yüzden neden paylaşılan bir sunucu olmadığı için kullanıcısının şu anda kaç bağlantı kullandığını bilmem gerekiyor. Şu anda 5.5.36 sürümünde MySQL (InnoDB) kullanıyorum. Herhangi bir yardım büyük mutluluk duyacağız!

Yanıtlar:


11

İhtiyacınız olan şey, toplamın yanı sıra kullanıcı ve ana bilgisayar adına göre bir dökümdür

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;

Bu, ana bilgisayar adını ve bağlantı noktası numarasını ayıran iki nokta üst üste işaretine sahip ana bilgisayar adresini işleyecektir

Umarım herkes kök olarak giriş yapmaz


-1

Bunun için ayrıntılı bir tartışma vardı: https://dba.stackexchange.com/a/47160/385

Kısacası, ihtiyacınız olan sorgular

SELECT max_user_connections FROM mysql.user WHERE user='db_user' AND host='localhost';

ve

SHOW VARIABLES LIKE 'max_user_connections';

GÜNCELLEME

Belki bu soruya doğrudan cevap değildir, ancak http://dev.mysql.com/doc/refman/5.5/tr/user-resources.html MySQL, saat başına erişim sayısını sınırlamanıza izin verir . Belki de bu, belirli bir kullanıcının neden bağlantı sayısına ulaştığının işlem listesine göre küçük olmasına rağmen neden sınır verdiğini yanıtlar. Maalesef, erişim sayacını nasıl alacağım konusunda referans bulamıyorum.


Ben max_user_connections sayısını değiştirmek veya max_user_connections görüntülemek istemiyorum, bunu nasıl yapacağımı biliyorum. Belirli bir kullanıcının etkin olduğu bu bağlantılardan kaç tanesini görüntülemek istiyorum.
Will Hughes
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.