Amazon RDS - MySQL DBA Görevleri

Diğer tüm veritabanlarında olduğu gibi, Amazon RDS MYSQL de veritabanında ince ayar yapmak ve periyodik durum kontrolleri yapmak için DBA görevlerine ihtiyaç duyar. Ancak AWS platformu, kabuğun veritabanına erişmesine izin vermediğinden, sınırlı sayıda DBA görevi vardır. MySQL'in şirket içi kurulumuna kıyasla gerçekleştirilebilir. Aşağıda, AWS RDS MySQL veritabanında gerçekleştirilebilecek yaygın DBA görevlerinin bir listesi ve açıklamaları bulunmaktadır.

MySQL hata günlüğü (mysql-error.log) dosyası, Amazon RDS konsolu kullanılarak veya Amazon RDS CLI kullanılarak günlük alınarak görüntülenebilir. mysql-error.log her 5 dakikada bir temizlenir ve içeriği mysql-error-running.log dosyasına eklenir. Mysql-error-running.log dosyası daha sonra her saat döndürülür ve son 24 saatte oluşturulan saatlik dosyalar korunur.

RDS Konsolunu Kullanma

Aşağıda, yukarıda açıklanan iki günlük dosyasına bağlantılar vardır.

CLI kullanma

CLI kullanılarak günlük dosyaları, bir JSON Nesnesi olarak CloudWatch Günlüklerine yayınlanır.

aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}' \
    --apply-immediately

Bazen DBA'nın sonucu yeterince hızlı vermeyen uzun süren bir oturumu veya sorguyu sonlandırması gerekir. Bu DBA görevi, önce sorgunun işlem kimliğini bularak ve ardından sorguyu sonlandırmak için bir RDS işlevi kullanılarak yapılır. Aşağıdaki komutlar örneklerdir.

# get the ID
Select * from INFORMATION_SCHEMA.PROCESSLIST
#Apply the Kill Function
CALL mysql.rds_kill(processID);

İnnodb_file_per_table adlı bir DB parametresi ayarlayarak bir çökmeden kurtarma süresini iyileştirebiliriz. Bu parametreyi aşağıda gösterildiği gibi RDS konsolunda bulabiliriz.

Ardından, aşağıda gösterildiği gibi parametre adını arayabiliriz.

Amazon RDS, innodb_file_per_table parametresinin varsayılan değerini 1 olarak ayarlar; bu, bağımsız InnoDB tablolarını bırakmanıza ve bu tablolar tarafından DB bulut sunucusu için kullanılan depolamayı geri kazanmanıza olanak tanır. Bu, kazadan sonraki kurtarma süresini hızlandırır.

Bir DB'yi durdurmak, Yeniden başlatmak veya anlık görüntüler oluşturmak vb. Aşağıdaki şemada gösterildiği gibi RDS konsolu aracılığıyla kolayca yapılabilir.