MySQL Performans Optimallaşdırması
MySQL verilənlər bazası performansını analiz edən və optimallaşdırma təklifləri təqdim edən script.
Yayımlanma: 08.05.2024
Kod
#!/bin/bash
# MySQL Performance Tuning Script
MYSQL_USER="root"
MYSQL_PASS="${MYSQL_PASSWORD:-}"
if [ -z "$MYSQL_PASS" ]; then
read -sp "MySQL password: " MYSQL_PASS
echo ""
fi
echo "======================================"
echo " MYSQL PERFORMANCE ANALYSIS"
echo "======================================"
echo ""
echo "--- Connection Status ---"
mysql -u"$MYSQL_USER" -p"$MYSQL_PASS" -e "SHOW STATUS LIKE 'Threads_connected';" 2>/dev/null
echo ""
echo "--- Query Cache Status ---"
mysql -u"$MYSQL_USER" -p"$MYSQL_PASS" -e "SHOW VARIABLES LIKE 'query_cache%';" 2>/dev/null
echo ""
echo "--- Slow Query Log Status ---"
mysql -u"$MYSQL_USER" -p"$MYSQL_PASS" -e "SHOW VARIABLES LIKE 'slow_query%';" 2>/dev/null
echo ""
echo "--- Table Status ---"
mysql -u"$MYSQL_USER" -p"$MYSQL_PASS" -e "SHOW TABLE STATUS;" 2>/dev/null | head -20
echo ""
echo "--- Optimization Recommendations ---"
mysql -u"$MYSQL_USER" -p"$MYSQL_PASS" -e "
SELECT
table_schema,
table_name,
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS size_mb,
table_rows
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema', 'mysql', 'performance_schema')
ORDER BY (data_length + index_length) DESC
LIMIT 10;
" 2>/dev/null
echo ""
echo "Analysis completed!"
İstifadə
chmod +x mysql_tuning.sh
./mysql_tuning.sh