php计算整个mysql数据库的大小

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

php计算连接的mysql数据库的大小,用MB,KB或者GB的格式返回

function CalcFullDatabaseSize($database, $db) {
  
    $tables = mysql_list_tables($database, $db);
    if (!$tables) { return -1; }
  
    $table_count = mysql_num_rows($tables);
    $size = 0;
  
    for ($i=0; $i < $table_count; $i++) {
        $tname = mysql_tablename($tables, $i);
        $r = mysql_query("SHOW TABLE STATUS FROM ".$database." LIKE '".$tname."'");
        $data = mysql_fetch_array($r);
        $size += ($data['Index_length'] + $data['Data_length']);
    };
  
    $units = array(' B', ' KB', ' MB', ' GB', ' TB');
    for ($i = 0; $size > 1024; $i++) { $size /= 1024; }
    return round($size, 2).$units[$i];
}
 
 
/*
** Example:
*/
  
// open mysql connection:
$handle = mysql_connect('localhost', 'user', 'password');
  
if (!$handle) { die('Connection failed!'); }
  
// get the size of all tables in this database:
print CalcFullDatabaseSize('customer1234', $handle);
// --> returns something like: 484.2 KB
  
// close connection:
mysql_close($handle);

标签: Mysql 数据库

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:php检查日期函数checkdate使用示例

下一篇:检查网站可用性的Python代码