mysql_stat

(PHP 4 >= 4.3.0, PHP 5)

mysql_statВозвращает текущий статус сервера

Описание

string mysql_stat ([ resource $link_identifier = NULL ] )

mysql_stat() возвращает текущий статус сервера.

Список параметров

link_identifier

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect(). Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING.

Возвращаемые значения

Возвращает строку с данными аптайма, количества потоков, запросов, количеством открытых таблиц и таблиц с сброшенным внутренним кэшем (flush tables), а также количество запросов в секунду. Для получения полного списка других переменных вам необходимо будет использовать SQL-запрос SHOW STATUS. Если передан некорректный link_identifier, то будет возвращен NULL.

Примеры

Пример #1 Пример использования mysql_stat()

<?php
$link   
mysql_connect('localhost''mysql_user''mysql_password');
$status explode('  'mysql_stat($link));
print_r($status);
?>

Результатом выполнения данного примера будет что-то подобное:

Array
(
    [0] => Uptime: 5380
    [1] => Threads: 2
    [2] => Questions: 1321299
    [3] => Slow queries: 0
    [4] => Opens: 26
    [5] => Flush tables: 1
    [6] => Open tables: 17
    [7] => Queries per second avg: 245.595
)

Пример #2 Альтернативный пример использования mysql_stat()

<?php
$link   
mysql_connect('localhost''mysql_user''mysql_password');
$result mysql_query('SHOW STATUS'$link);
while (
$row mysql_fetch_assoc($result)) {
    echo 
$row['Variable_name'] . ' = ' $row['Value'] . "\n";
}
?>

Результатом выполнения данного примера будет что-то подобное:

back_log = 50
basedir = /usr/local/
bdb_cache_size = 8388600
bdb_log_buffer_size = 32768
bdb_home = /var/db/mysql/
bdb_max_lock = 10000
bdb_logdir =
bdb_shared_data = OFF
bdb_tmpdir = /var/tmp/
...

Смотрите также

Коментарии

Автор:
if you need the complete status as outputted by the "show status" command. Try this function.
<?
function mysql_status($db=NULL) {
if(!
mysql_ping($db))
$db=mysql_connect("localhost","user","password");
$res=mysql_query("show status",$db);
while (list(
$key,$value)=mysql_fetch_array($res))
$sql[$key]=$value;
return 
$sql;
}
?>
2005-02-08 20:16:41
http://php5.kiev.ua/manual/ru/function.mysql-stat.html
<?php
// function that return stat elements into array
function mysql_stat_array($A=null) {
   
$status explode('  'mysql_stat());
    foreach(
$status as $k=>$v) { $v=explode(':',$v,2); $status[$v[0]]=$v[1]; }
    return (isset(
$status[$A])?$status[$A]:$status);
}
/*
example return:
Array ( [0] => Uptime: 385815 [1] => Threads: 1 [2] => Questions: 3515 [3] => Slow queries: 0 [4] => Opens: 32 [5] => Flush tables: 1 [6] => Open tables: 8 [7] => Queries per second avg: 0.009 [Uptime] => Array ( [0] => Uptime [1] => 385815 ) [Threads] => Array ( [0] => Threads [1] => 1 ) [Questions] => Array ( [0] => Questions [1] => 3515 ) [Slow queries] => Array ( [0] => Slow queries [1] => 0 ) [Opens] => Array ( [0] => Opens [1] => 32 ) [Flush tables] => Array ( [0] => Flush tables [1] => 1 ) [Open tables] => Array ( [0] => Open tables [1] => 8 ) [Queries per second avg] => Array ( [0] => Queries per second avg [1] => 0.009 ) )
*/

?>
2008-05-31 15:22:16
http://php5.kiev.ua/manual/ru/function.mysql-stat.html
The following script can be used to clearly print out the results of mysql_stat().

<?php
    mysql_connect
("localhost""username""password");
   
$array explode("  "mysql_stat());
    foreach (
$array as $value){
        echo 
$value "<br />";
    }
?>

Outputs something similar to:

Uptime: 698
Threads: 1
Questions: 4
Slow queries: 0
Opens: 19
Flush tables: 1
Open tables: 12
Queries per second avg: 0.5
2011-01-06 13:46:27
http://php5.kiev.ua/manual/ru/function.mysql-stat.html

    Поддержать сайт на родительском проекте КГБ