Web aym.pekori.to

mysql_stat

(PHP 4 >= 4.3.0, PHP 5)

mysql_stat -- カレントのシステム状況を得る

説明

string mysql_stat ( [resource link_identifier] )

mysql_stat() は現在のサーバの状態を返します。

パラメータ

link_identifier

MySQL 接続。 指定されない場合、mysql_connect() により直近にオープンされたリンクが 指定されたと仮定されます。そのようなリンクがない場合、引数を指定せずに mysql_connect() がコールした時と同様にリンクを確立します。 リンクが見付からない、または、確立できない場合、 E_WARNING レベルの警告が生成されます。

返り値

稼働時間、スレッド、クエリ、オープンされているテーブル、フラッシュされた テーブル、そして 1 秒あたりのクエリ数を文字列で返します。その他のデータも 含めた完全な状態を得るには、SHOW STATUS SQL コマンドを 実行する必要があります。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 VARIABLES', $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/
...

参考

mysql_get_server_info()
mysql_list_processes()