show status where variable_name = 'threads_connected';
Connectionsshow status where variable_name = 'threads_running';
Active ConnectionsSHOW VARIABLES LIKE "max_connections";
Connection LimitSHOW VARIABLES LIKE "max_used_connections";
High Water Markshow processlist;
or...
SELECT id,
user,
host,
db,
command,
time,
state,
info
FROM information_schema.processlist;
KILL 9999;
Where 9999 is the id from processlistSELECT CONCAT('KILL ',id,';')
FROM information_schema.processlist
WHERE user='myuser'
AND time > 1800
INTO OUTFILE '/mysql/mysql-files/myfile.txt';
1800 seconds equates to 30 minutesSOURCE /mysql/mysql-files/myfile.txt;
SELECT CONCAT('KILL ',id,';')
FROM information_schema.processlist
WHERE user='myuser'
AND info LIKE 'SELECT%'
INTO OUTFILE '/mysql/mysql-files/myfile.txt';
SOURCE /mysql/mysql-files/myfile.txt;
SELECT CONCAT('KILL ',id,';')
FROM information_schema.processlist
WHERE user='myuser'
INTO OUTFILE '/mysql/mysql-files/myfile.txt';
SOURCE /mysql/mysql-files/myfile.txt;
For mariaDB only...
KILL USER myuser;
import pymysql
connection = pymysql.connect(host='localhost',
user='myuser',
db='mydb',
cursorclass=pymysql.cursors.DictCursor)
with connection.cursor() as cursor:
cursor.execute('SHOW PROCESSLIST')
for item in cursor.fetchall():
if item.get('Time') > 1800:
_id = item.get('Id')
print('kill %s' % item)
cursor.execute('kill %s', _id)
connection.close()
$result = mysql_query("SHOW FULL PROCESSLIST");
while ($row=mysql_fetch_array($result)) {
$process_id=$row["Id"];
if ($row["Time"] > 1800) {
$sql="KILL $process_id";
mysql_query($sql);
}
}
To determine if a connection is using a TCP/IP connection or a UNIX Socket use...
netstat -ln | grep 'mysql'
information_schema.processlist
performance_schema.threads