Amazon RDS, veritabanı sunucusunu doğrudan yönetmeden ilişkisel veritabanı çalıştırmanızı sağlar. Bu yazıda AWS RDS üzerinde MySQL database instance oluşturmayı, MySQL Workbench ile bağlanmayı, küçük bir Library şeması hazırlamayı ve MySQL function oluştururken gerekli olabilen parameter group ayarını yapmayı ele alıyorum.
Temel akış şudur: RDS instance oluşturulur, security group üzerinden bağlantıya izin verilir, MySQL Workbench ile bağlanılır, tablo ve sorgularla veritabanı test edilir, ardından server seviyesindeki MySQL davranışı için RDS parameter group güncellenir.
İçindekiler
İçindekileri aç
AWS RDS Üzerinde MySQL Veritabanı Oluşturma
AWS Console üzerinden RDS servisini açın. Yeni bir database oluşturma akışını başlatın ve engine olarak MySQL seçin. Öğrenme amaçlı bir kurulumda Free Tier seçeneği genellikle yeterlidir; gerçek projelerde instance class, storage, backup ve availability ayarları iş yüküne göre seçilmelidir.
Bu ekranda Amazon RDS üzerinde database oluşturmayı başlatma adımını görüyoruz.
Bu ekranda RDS database engine olarak MySQL seçme adımını görüyoruz.
Bu ekranda RDS MySQL database template seçimi adımını görüyoruz.
Database identifier ve master kullanıcı bilgilerini dikkatli girin. Endpoint AWS tarafından oluşturulur, fakat kullanıcı adı ve parola daha sonra MySQL Workbench bağlantısında gerekir.
Bu ekranda RDS instance yapılandırmasını seçme adımını görüyoruz.
Bu ekranda RDS storage seçeneklerini yapılandırma adımını görüyoruz.
Kendi bilgisayarınızdan bağlanacaksanız network ayarları önemlidir. Database sizin makinenizden erişilebilir olmalı ve bağlı security group, 3306 portunda MySQL inbound trafiğine izin vermelidir.
Bu ekranda RDS için VPC ve security group ayarlarını seçme adımını görüyoruz.
Bu ekranda Database authentication seçeneklerini yapılandırma adımını görüyoruz.
Kalan ayarları gözden geçirip database oluşturma işlemini başlatın. RDS instance’ın hazırlanması birkaç dakika sürebilir; endpoint de bu işlemden sonra kullanılabilir hale gelir.
Bu ekranda RDS MySQL database instance oluşturma adımını görüyoruz.
Bu ekranda RDS MySQL database oluşturma işleminin devam etmesi adımını görüyoruz.
Bu ekranda RDS MySQL database instance oluşturuldu adımını görüyoruz.
MySQL Workbench ile Bağlanma
Database kullanılabilir hale geldikten sonra detay sayfasını açın ve endpoint değerini kopyalayın. MySQL Workbench içinde bu endpoint, 3306 portu ve RDS kurulumunda belirlediğiniz master kullanıcı bilgileriyle yeni bir connection oluşturun.
Bu ekranda RDS database endpoint değerini kopyalama adımını görüyoruz.
Bu ekranda MySQL Workbench içinde yeni connection oluşturma adımını görüyoruz.
Bu ekranda MySQL Workbench içinde RDS endpoint ve kullanıcı bilgilerini girme adımını görüyoruz.
İlk bağlantı denemesi başarısız olursa en yaygın sebep security group ayarıdır. RDS instance’a bağlı security group’u açın ve 3306 portu için MySQL/Aurora inbound rule ekleyin. Kişisel testte kendi IP adresinizi kullanabilirsiniz; production ortamında bu kural olabildiğince dar tutulmalıdır.
Bu ekranda RDS security group ayarını açma adımını görüyoruz.
Bu ekranda RDS security group inbound rules düzenleme adımını görüyoruz.
Bu ekranda 3306 portu için MySQL inbound rule ekleme adımını görüyoruz.
Kural eklendikten sonra MySQL Workbench üzerinden yeniden bağlanın ve server bağlantısının başarılı olduğunu doğrulayın.
Örnek Library Veritabanı Oluşturma
Yeni server’ı test etmek için MySQL Workbench içinde basit bir Library şeması oluşturun. Böylece schema oluşturma, tablo hazırlama, ilişkiler, insert işlemleri ve select sorguları pratik şekilde doğrulanabilir.
Bu ekranda MySQL Workbench içinde schema oluşturma işlemini uygulama adımını görüyoruz.
Authors ve Books gibi temel tabloları oluşturun, ardından bu tabloları bağlayan ilişki tablosunu ekleyin. Bu küçük bir many-to-many örneğidir: bir yazarın birden fazla kitabı olabilir, bir kitap da gerekirse birden fazla yazarla ilişkilendirilebilir.
Bu ekranda MySQL Workbench içinde tablo kolonlarını tanımlama adımını görüyoruz.
Bu ekranda MySQL Workbench içinde tablo oluşturma işlemini uygulama adımını görüyoruz.
Bu ekranda Library içinde başka bir tablo oluşturma adımını görüyoruz.
Bu ekranda Tablo kolonları ve key ayarlarını yapılandırma adımını görüyoruz.
Bu ekranda Books ve authors için ilişki tablosu oluşturma adımını görüyoruz.
Tablolar hazırlandıktan sonra örnek kayıtlar ekleyin ve ilişkilerin beklenen sonucu döndürdüğünü görmek için join sorgusu çalıştırın.
Bu ekranda Örnek book kayıtları ekleme adımını görüyoruz.
Bu ekranda Books ve authors ilişki kayıtlarını ekleme adımını görüyoruz.
Bu ekranda MySQL Workbench içinde select sorgusu çalıştırma adımını görüyoruz.
Bu ekranda Library veritabanı için join sorgusu çalıştırma adımını görüyoruz.
Bu ekranda MySQL Workbench içinde Library sorgu sonuçlarını görüntüleme adımını görüyoruz.
View, Stored Procedure ve Function Oluşturma
Temel sorgu çalıştıktan sonra tekrar kullanılan SQL mantığını database nesnelerine dönüştürebilirsiniz. Önce join sorgusu için bir view, ardından tekrar çağrılabilir bir stored procedure oluşturun.
Bu ekranda Library veritabanı için view SQL yazma adımını görüyoruz.
Bu ekranda MySQL Workbench içinde view oluşturma işlemini uygulama adımını görüyoruz.
Bu ekranda Oluşturulan view üzerinde sorgu çalıştırma adımını görüyoruz.
Bu ekranda MySQL Workbench içinde stored procedure oluşturma adımını görüyoruz.
Bu ekranda Stored procedure SQL kodunu yazma adımını görüyoruz.
Bu ekranda Stored procedure oluşturma işlemini uygulama adımını görüyoruz.
Bu ekranda Stored procedure çağırma adımını görüyoruz.
Function oluşturma da benzer şekilde ilerler; fakat RDS üzerinde binary logging ve trust ayarına bağlı olarak yetki hatası alınabilir. Function oluştururken privilege hatası görürseniz çözüm genellikle custom DB parameter group içinde log_bin_trust_function_creators değerini 1 yapmaktır.
Bu ekranda MySQL function SQL kodunu yazma adımını görüyoruz.
Bu ekranda MySQL Workbench içinde function oluşturma hatası adımını görüyoruz.
Bu ekranda MySQL function privilege hatasını inceleme adımını görüyoruz.
Bu ekranda MySQL function oluşturma davranışını kontrol etme adımını görüyoruz.
Bu ekranda RDS parameter ayarlarını güncellemeye hazırlanma adımını görüyoruz.
Bu ekranda Configuration kontrolü sonrası function çalıştırma adımını görüyoruz.
Bu ekranda MySQL Workbench function test sonucu adımını görüyoruz.
RDS Parameter Group Güncelleme
RDS default parameter group içindeki birçok ayar doğrudan düzenlenemez. Bu yüzden MySQL sürümünüze uygun custom parameter group oluşturun. Ardından log_bin_trust_function_creators parametresini arayıp değerini 1 olarak ayarlayın.
Bu ekranda Yeni RDS parameter group oluşturma adımını görüyoruz.
Bu ekranda Parameter group için MySQL family seçme adımını görüyoruz.
Bu ekranda Custom RDS parameter group adını belirleme adımını görüyoruz.
Bu ekranda Custom parameter group içindeki parametreleri açma adımını görüyoruz.
Bu ekranda log_bin_trust_function_creators parametresini arama adımını görüyoruz.
Bu ekranda log_bin_trust_function_creators değerini düzenleme adımını görüyoruz.
Parametre güncellendikten sonra custom parameter group’u Modify ekranından RDS database instance’a bağlayın. Değişikliği uygulayın ve AWS gerekli görürse ayarın etkili olması için instance’ı reboot edin.
Bu ekranda RDS database için custom parameter group seçme adımını görüyoruz.
Bu ekranda RDS database modification akışında devam etme adımını görüyoruz.
Bu ekranda RDS parameter group değişikliğini uygulama adımını görüyoruz.
Bu ekranda RDS database pending parameter group change durumu adımını görüyoruz.
Bu ekranda RDS database instance reboot etme adımını görüyoruz.
Bu ekranda RDS reboot işlemini onaylama adımını görüyoruz.
Instance tekrar available olduktan sonra MySQL Workbench ile bağlanın ve function oluşturma işlemini yeniden deneyin. Parametre etkin olduğunda function başarıyla oluşturulup çağrılabilir.
Bu ekranda MySQL Workbench ile RDS database’e tekrar bağlanma adımını görüyoruz.
Bu ekranda Parameter group güncellemesi sonrası MySQL function oluşturma adımını görüyoruz.
Bu ekranda MySQL function başarıyla çağırma adımını görüyoruz.
Bu ekranda Workbench içinde başarılı MySQL function sonucu adımını görüyoruz.
Özet
Bu kurulumla MySQL server yönetimi AWS RDS tarafında kalırken, geliştirme ve test işlemlerini MySQL Workbench ile sürdürebilirsiniz. Dikkat edilmesi gereken ana noktalar bağlantı için security group ayarını doğru yapmak, database kullanıcı bilgilerini saklamak ve server seviyesinde MySQL ayarı gerektiğinde custom parameter group kullanmaktır.
Yorumlar