Quando você olha para top
e vê mysqld
, deve haver somente um mysqld
por instância . Versões antigas de mysqld
compiladas pelo servidor geram muitos threads. Eu suponho que você não está usando isso.
Para ver as conexões individuais, você pode fazer uma das duas coisas
No cliente mysql, execute SHOW PROCESSLIST;
(origem da conexão de entrada na terceira coluna Host
)
No sistema operacional, execute
-
netstat | grep -i mysql
-
netstat | grep 3306
Para ênfase, você deve ver apenas um mysqld
process por instância .
Se você quiser checar novamente o valor de tempo como visto no topo, pergunte ao mysqld
Se você tem o MySQL 5.1+, execute isto:
SELECT
TRIM(REPLACE(CONCAT(
IF(dy=0,'',IF(dy=1,'1 day ',CONCAT(dy,' days '))),
IF(hr=0,'',IF(hr=1,'1 hr ', CONCAT(hr,' hrs '))),
IF(mn=0,'',IF(mn=1,'1 min ',CONCAT(mn,' mins '))),
IF(sc=0,'',IF(sc=1,'1 sec ',CONCAT(sc,' secs ')))),' ',' '))
TimeDisplay
FROM (SELECT dy,hr,mn,MOD(sec_aaaa,60) sc
FROM (SELECT dy,hr,FLOOR((sec_aaa - dy*86400 - hr*3600)/60) mn,sec_aaa sec_aaaa
FROM (SELECT dy,FLOOR((sec_aa - (dy*86400))/3600) hr,sec_aa sec_aaa
FROM (SELECT FLOOR(sec_a/86400) dy,sec_a sec_aa
FROM
(
SELECT variable_value sec_a
FROM information_schema.global_status
WHERE variable_name = 'Uptime'
)
A) AA) AAA) AAAA) B;
Se você tem o MySQL 5.0, execute este
MYSQL_CONN="-uroot -ppassword"
UPTIME_SEC='mysql ${MYSQL_CONN} -A -N -e"SHOW GLOBAL STATUS LIKE 'Uptime'" | awk '{print $2}''
SQLTIME="SELECT TRIM(REPLACE(CONCAT("
SQLTIME="${SQLTIME} IF(dy=0,'',IF(dy=1,'1 day ',CONCAT(dy,' days '))),"
SQLTIME="${SQLTIME} IF(hr=0,'',IF(hr=1,'1 hr ', CONCAT(hr,' hrs '))),"
SQLTIME="${SQLTIME} IF(mn=0,'',IF(mn=1,'1 min ',CONCAT(mn,' mins '))),"
SQLTIME="${SQLTIME} IF(sc=0,'',IF(sc=1,'1 sec ',CONCAT(sc,' secs ')))),' ',' ')) TimeDisplay"
SQLTIME="${SQLTIME} FROM (SELECT dy,hr,mn,MOD(sec_aaaa,60) sc"
SQLTIME="${SQLTIME} FROM (SELECT dy,hr,FLOOR((sec_aaa - dy*86400 - hr*3600)/60) mn,sec_aaa sec_aaaa"
SQLTIME="${SQLTIME} FROM (SELECT dy,FLOOR((sec_aa - (dy*86400))/3600) hr,sec_aa sec_aaa"
SQLTIME="${SQLTIME} FROM (SELECT FLOOR(sec_a/86400) dy,sec_a sec_aa"
SQLTIME="${SQLTIME} FROM (SELECT ${UPTIME_SEC} sec_a ) A) AA) AAA) AAAA) B"
MYSQL_START_TIME='mysql ${MYSQL_CONN} -A -N -e"${SQLTIME}"'
echo ${MYSQL_START_TIME}
Isto lhe dará o número de segundos que o mysqld está rodando.
Se você quiser ver a data e hora em que o mysqld iniciou
MySQL 5.1 +
select (now() - interval variable_value second) MySQLStartTime from
information_schema.global_status where variable_name='uptime';
MySQL 5.0
MYSQL_CONN="-uroot -ppassword"
UPTIME_SEC='mysql ${MYSQL_CONN} -A -N -e"SHOW GLOBAL STATUS LIKE 'Uptime'" | awk '{print $2}''
MYSQL_START_TIME='mysql ${MYSQL_CONN} -A -N -e"SELECT (NOW() - INTERVAL ${UPTIME_SEC} SECOND) MySQLStartTime"'
echo ${MYSQL_START_TIME}
Experimente!