better calculation of mysql-diskspace usage (like we do in the customer_mysql-overview), thx to KulMaks from the forum
Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
This commit is contained in:
@@ -111,42 +111,41 @@ $last_dbserver = 0;
|
|||||||
|
|
||||||
$databases_list = array();
|
$databases_list = array();
|
||||||
$databases_list_result = $db_root->query("show databases");
|
$databases_list_result = $db_root->query("show databases");
|
||||||
while($databases_list_row = $db->fetch_array($databases_list_result))
|
while ($databases_list_row = $db->fetch_array($databases_list_result)) {
|
||||||
{
|
|
||||||
$databases_list[] = strtolower($databases_list_row['Database']);
|
$databases_list[] = strtolower($databases_list_row['Database']);
|
||||||
}
|
}
|
||||||
|
|
||||||
while($row_database = $db->fetch_array($databases))
|
while ($row_database = $db->fetch_array($databases)) {
|
||||||
{
|
|
||||||
if($last_dbserver != $row_database['dbserver'])
|
if ($last_dbserver != $row_database['dbserver']) {
|
||||||
{
|
|
||||||
$db_root->close();
|
$db_root->close();
|
||||||
$db_root = new db($sql_root[$row_database['dbserver']]['host'], $sql_root[$row_database['dbserver']]['user'], $sql_root[$row_database['dbserver']]['password'], '');
|
$db_root = new db($sql_root[$row_database['dbserver']]['host'], $sql_root[$row_database['dbserver']]['user'], $sql_root[$row_database['dbserver']]['password'], '');
|
||||||
$last_dbserver = $row_database['dbserver'];
|
$last_dbserver = $row_database['dbserver'];
|
||||||
|
|
||||||
$database_list = array();
|
$database_list = array();
|
||||||
$databases_list_result = $db_root->query("show databases");
|
$databases_list_result = $db_root->query("show databases");
|
||||||
while($databases_list_row = $db->fetch_array($databases_list_result))
|
while ($databases_list_row = $db->fetch_array($databases_list_result)) {
|
||||||
{
|
|
||||||
$databases_list[] = strtolower($databases_list_row['Database']);
|
$databases_list[] = strtolower($databases_list_row['Database']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(in_array(strtolower($row_database['databasename']), $databases_list))
|
if (in_array(strtolower($row_database['databasename']), $databases_list)) {
|
||||||
{
|
// sum up data_length and index_length
|
||||||
$mysql_usage_result = $db_root->query("SHOW TABLE STATUS FROM `" . $db_root->escape($row_database['databasename']) . "`");
|
$mysql_usage_result = $db_root->query("
|
||||||
|
SELECT SUM(data_length + index_length) AS usage
|
||||||
while($mysql_usage_row = $db_root->fetch_array($mysql_usage_result))
|
FROM information_schema.TABLES
|
||||||
{
|
WHERE table_schema = '" . $db_root->escape($row_database['databasename']) . "'
|
||||||
if(!isset($mysqlusage_all[$row_database['customerid']]))
|
GROUP BY table_schema;
|
||||||
{
|
");
|
||||||
$mysqlusage_all[$row_database['customerid']] = 0;
|
// get the result
|
||||||
}
|
$mysql_usage_row = $db_root->fetch_array($mysql_usage_result);
|
||||||
$mysqlusage_all[$row_database['customerid']] += floatval($mysql_usage_row['Data_length'] + $mysql_usage_row['Index_length']);
|
// initialize counter for customer
|
||||||
|
if (!isset($mysqlusage_all[$row_database['customerid']])) {
|
||||||
|
$mysqlusage_all[$row_database['customerid']] = 0;
|
||||||
}
|
}
|
||||||
}
|
// sum up result
|
||||||
else
|
$mysqlusage_all[$row_database['customerid']] += floatval($mysql_usage_row['usage']);
|
||||||
{
|
} else {
|
||||||
echo "Seems like the database " . $row_database['databasename'] . " had been removed manually.\n";
|
echo "Seems like the database " . $row_database['databasename'] . " had been removed manually.\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user