MySQL Uzaktan Bağlantı Ayarları

Merhaba,
Bu yazımızda, MySQL veritabanınıza uzaktan bağlanabilmek için yapmanız gereken ayarları adım adım açıklayacağız. Özellikle geliştirme ve yönetim süreçlerinde, sunucunuza başka bir cihazdan veya uzak bir yerden MySQL'e bağlanmanız gerekebilir. Bu yazıda, bu işlemi nasıl güvenli bir şekilde yapabileceğinizi öğrenebilirsiniz.


Adım 1: MySQL Konfigürasyon Dosyasını Düzenlemek

İlk adım olarak, MySQL sunucusunun konfigürasyon dosyasını düzenleyerek uzaktan bağlantılara izin vereceğiz.

  1. MySQL konfigürasyon dosyasını açmak için aşağıdaki komutu kullanın:

     
    sudo nano /etc/mysql/my.cnf
  2. bind-address satırını bulup 0.0.0.0 olarak değiştirin. Bu, MySQL'in tüm IP adreslerinden gelen bağlantıları kabul etmesini sağlar.

     
    bind-address = 0.0.0.0
  3. Dosyayı kaydedin ve çıkın (nano için CTRL + X, ardından Y ve Enter).

  4. Değişikliklerin geçerli olabilmesi için MySQL servisini yeniden başlatın:

     
    sudo systemctl restart mysql

Adım 2: MySQL Kullanıcısına Uzaktan Bağlantı Yetkisi Verme

MySQL'e uzaktan bağlanmak için, doğru kullanıcı adı ve şifreyi kullandığınızdan emin olmanız gerekecek. Ayrıca, bu kullanıcıya uzaktan bağlantıya izin veren yetkiler vermelisiniz.

  1. MySQL'e root olarak giriş yapın:

     
    mysql -u root -p
  2. Aşağıdaki SQL komutunu kullanarak kullanıcıya uzaktan bağlantı izni verin. Bu örnekte kullanici_adı ve parola yerine kendi kullanıcı adı ve şifrenizi yazmalısınız.

     
    GRANT ALL PRIVILEGES ON veritabani_adı.* TO 'kullanici_adı'@'%' IDENTIFIED BY 'parola';
    • Burada % işareti, tüm IP adreslerinden bağlantılara izin verir. Eğer belirli bir IP adresine izin vermek isterseniz, % yerine o IP adresini yazabilirsiniz (örneğin: '192.168.1.100').

    • ALL PRIVILEGES komutu, kullanıcıya veritabanı üzerinde tüm hakları verir. İhtiyacınıza göre, sadece belirli hakları vermek de mümkündür.

  3. Yapılan değişikliklerin etkili olabilmesi için privileges komutunu çalıştırarak hakları yeniden yükleyin:

     
    FLUSH PRIVILEGES;
  4. Son olarak, MySQL'den çıkın:

     
    EXIT;

Adım 3: Güvenlik Duvarı Ayarları

Eğer sunucunuzda bir güvenlik duvarı (firewall) kullanıyorsanız, MySQL için gerekli portları açmanız gerekecek. MySQL'in varsayılan portu 3306'dır.

  1. UFW kullanıyorsanız, aşağıdaki komutu çalıştırarak MySQL portunu açabilirsiniz:

    sudo ufw allow 3306
  2. FirewallD kullanıyorsanız, aşağıdaki komutu kullanarak portu açın:

     
    sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent sudo firewall-cmd --reload

Adım 4: Bağlantıyı Test Etmek

Şimdi MySQL'e uzaktan bağlanabilirsiniz. Bağlantıyı test etmek için bir uzak terminal (örneğin, başka bir sunucu veya bilgisayar) üzerinden aşağıdaki komutu çalıştırarak bağlantıyı test edebilirsiniz:

mysql -u kullanici_adı -p -h sunucu_ip_adresi

Burada:

  • kullanici_adı MySQL kullanıcı adınız,

  • sunucu_ip_adresi ise MySQL sunucunuzun IP adresidir.


Güvenlik Uyarısı

Uzaktan MySQL bağlantısı aktif hale geldiğinde, güvenlik büyük önem taşır. Aşağıda bazı güvenlik önlemleri bulunmaktadır:

  1. Sadece belirli IP'lere izin verin: Tüm IP'lerden erişime izin vermek (% kullanmak) güvenlik riskleri oluşturabilir. Belirli IP'lerle sınırlı kalmak daha güvenlidir.

  2. Şifre güvenliği: Güçlü, tahmin edilmesi zor şifreler kullanın. Şifrelerinizi düzenli olarak değiştirin.

  3. SSL/TLS kullanın: Veritabanınıza şifreli bağlantı kurarak verilerin güvenliğini artırabilirsiniz. MySQL, SSL/TLS bağlantılarını destekler.

  4. Güvenlik duvarı kullanın: Yalnızca izin verilen IP adreslerinin MySQL'e erişmesini sağlamak için güvenlik duvarı kullanın.


Sonuç

Bu makalede, MySQL veritabanına uzaktan bağlantı yapabilmek için gerekli adımları ve güvenlik önlemlerini inceledik. Uzaktan bağlanarak veritabanınızı yönetebilir ve geliştirme süreçlerinizi daha verimli hale getirebilirsiniz. Eğer herhangi bir sorun yaşarsanız, destek ekibimiz size yardımcı olmaktan mutluluk duyacaktır.

  • mysql, mysq, mysql uzaktan bağlantı ayarları
  • 0 Bu dökümanı faydalı bulan kullanıcılar:
Bu cevap yeterince yardımcı oldu mu?