MySQL Performans Optimizasyonu

MySQL veritabanı performansını analiz eden ve optimizasyon önerileri sunan script.

Yayınlanma: 08.05.2024

Detaylı Bilgi

Bu script, MySQL veritabanı performansını analiz eder ve optimizasyon önerileri sunar. Veritabanı yapılandırmasını ve sorgu performansını değerlendirir.

Script Ne İşe Yarar?

Bu script, MySQL performansını analiz eder:

  • Bağlantı durumunu kontrol eder
  • Query cache durumunu gösterir
  • Slow query log durumunu kontrol eder
  • Tablo durumunu analiz eder
  • Optimizasyon önerileri sunar

Neden Kullanmalısınız?

MySQL performans optimizasyonu, veritabanı hızı için kritiktir:

  • Performans Analizi: Veritabanı performansını anlayın
  • Optimizasyon: Performans sorunlarını tespit edin
  • Yapılandırma: MySQL ayarlarını optimize edin

Nasıl Kullanılır?

Adım Adım Kullanım Kılavuzu

1. Script Dosyasını Oluşturun

nano mysql_tuning.sh

2. Çalıştırılabilir Yapın

chmod +x mysql_tuning.sh

3. Scripti Çalıştırın

./mysql_tuning.sh

4. Environment Variable ile Şifre

MYSQL_PASSWORD=your_password ./mysql_tuning.sh

Gereksinimler

Gereksinimler

  • MySQL: MySQL kurulu olmalı
  • MySQL Client: mysql komut satırı aracı
  • MySQL Erişimi: Veritabanına erişim yetkisi

Kullanım Senaryoları

Kullanım Senaryoları

1. Veritabanı Performans Analizi

MySQL veritabanının performansını analiz edin.

2. Optimizasyon Önerileri

Performans iyileştirme önerileri alın.

Örnekler

Kullanım Örnekleri

Örnek 1: Temel Analiz

./mysql_tuning.sh

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!"

Kullanım

chmod +x mysql_tuning.sh
./mysql_tuning.sh

Sorun Giderme

Sorun Giderme

Problem: "Access denied"

Çözüm: MySQL kullanıcı adı ve şifresini kontrol edin:

mysql -u root -p

Etiketler

mysql performans optimizasyon tuning database