diff --git a/lib/reference-db.sh b/lib/reference-db.sh index 6249b3c..38a252f 100755 --- a/lib/reference-db.sh +++ b/lib/reference-db.sh @@ -158,7 +158,14 @@ build_databases_section() { return fi - local all_dbs=$(mysql -Ns -e "SHOW DATABASES" 2>/dev/null | grep -v "^information_schema$\|^mysql$\|^performance_schema$\|^sys$" || true) + # Build MySQL command with credentials if needed + local mysql_cmd="mysql" + if [ "$SYS_CONTROL_PANEL" = "plesk" ] && [ -f /etc/psa/.psa.shadow ]; then + local plesk_mysql_pass=$(cat /etc/psa/.psa.shadow) + mysql_cmd="mysql -uadmin -p${plesk_mysql_pass}" + fi + + local all_dbs=$($mysql_cmd -Ns -e "SHOW DATABASES" 2>/dev/null | grep -v "^information_schema$\|^mysql$\|^performance_schema$\|^sys$" || true) local total_dbs=$(echo "$all_dbs" | wc -l) local current=0 @@ -169,12 +176,12 @@ build_databases_section() { local owner=$(get_database_owner "$db") local domain=$(get_database_domain "$db") - local size_mb=$(mysql -Ns -e "SELECT ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) + local size_mb=$($mysql_cmd -Ns -e "SELECT ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) FROM information_schema.TABLES WHERE table_schema='$db'" 2>/dev/null) [ -z "$size_mb" ] && size_mb=0 - local table_count=$(mysql -Ns "$db" -e "SHOW TABLES" 2>/dev/null | wc -l) + local table_count=$($mysql_cmd -Ns "$db" -e "SHOW TABLES" 2>/dev/null | wc -l) echo "DB|$db|$owner|$domain|$size_mb|$table_count" >> "$SYSREF_DB" done