Lorsque vous regardez top
et voyez mysqld
, il ne devrait y avoir qu'un seul mysqld
par instance. Les anciennes versions de mysqld
compilées avec le serveur créent de nombreux threads. Je suppose que vous n'utilisez pas une telle version.
Pour voir les connexions individuelles, vous pouvez faire l'une des deux choses suivantes
Dans le client mysql, exécutez SHOW PROCESSLIST;
(Source de la connexion entrante dans la troisième colonne Host
)
Dans le système d'exploitation, exécutez
netstat | grep -i mysql
netstat | grep 3306
Pour insister, vous devriez seulement voir un processus mysqld
par instance.
Si vous voulez vérifier la valeur de temps telle qu'elle apparaît dans top, demandez à mysql
Si vous avez MySQL 5.1+, exécutez ceci:
SELECT
TRIM(REPLACE(CONCAT(
IF(dy=0,'',IF(dy=1,'1 jour ',CONCAT(dy,' jours '))),
IF(hr=0,'',IF(hr=1,'1 h ', 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;
Si vous avez MySQL 5.0, exécutez ceci
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 jour ',CONCAT(dy,' jours '))),"
SQLTIME="${SQLTIME} IF(hr=0,'',IF(hr=1,'1 h ', 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}
Cela vous donnera le nombre de secondes pendant lesquelles mysqld a été en cours d'exécution.
Si vous voulez voir la date et l'heure de démarrage de mysqld
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}
Essayez ceci !!!