CyberPanel Uzak MySQL Bağlantısı Nasıl Yapılır?
CyberPanel üzerinde çalışan bir MySQL veya MariaDB veritabanına masaüstü uygulamasından, başka bir sunucudan ya da geliştirme ortamından bağlanmanız gerekebilir. Uzak bağlantı açılırken veritabanı portunu internete sınırsız biçimde yayınlamak ciddi güvenlik riski oluşturur. Bu nedenle mümkünse SSH tüneli kullanılmalı; doğrudan bağlantı gerekiyorsa erişim yalnızca güvenilir IP adresleriyle sınırlandırılmalıdır.
İşleme Başlamadan Önce
Değişiklik yapmadan önce veritabanınızın güncel bir yedeğini alın. CyberPanel, MariaDB ve işletim sistemi sürümünüzü kontrol edin. Yapılandırma dosyalarının konumu dağıtıma göre değişebileceğinden mevcut ayarların bir kopyasını saklayın. Üretim sunucusunda işlem yapıyorsanız olası kesintiler için bakım zamanı planlayın.
Önerilen Yöntem: SSH Tüneli ile Bağlantı
SSH tüneli, MySQL portunu genel internete açmadan yerel bilgisayarınız ile sunucu arasında şifreli bağlantı kurar. DBeaver, MySQL Workbench ve benzeri araçların SSH Tunnel bölümüne sunucu IP adresini, SSH portunu ve yetkili kullanıcı bilgilerini girerek bağlantı oluşturabilirsiniz.
Komut satırından örnek bir tünel aşağıdaki şekilde kurulabilir:
ssh -L 3307:127.0.0.1:3306 kullanici@sunucu-ip-adresi
Tünel açıkken veritabanı istemcisinde sunucu adresi olarak 127.0.0.1, port olarak 3307 kullanılır. Veritabanı portu dış dünyaya açılmadığı için bu yöntem doğrudan 3306 erişimine göre daha güvenlidir.
Doğrudan Uzak MySQL Erişimi Gerekiyorsa
Uygulamanız SSH tüneli kullanamıyorsa aşağıdaki kontrolleri uygulayın. Dosya yolları ve servis adları sisteminize göre farklı olabilir.
1. Sınırlı Yetkili Bir Veritabanı Kullanıcısı Oluşturun
Uzak bağlantıda root hesabını kullanmayın. Yalnızca gerekli veritabanına ve işlemlere erişebilen ayrı bir kullanıcı oluşturun. Kullanıcıyı % ile tüm adreslere açmak yerine bağlanacak sabit IP adresiyle sınırlandırın.
CREATE USER 'uygulama_kullanicisi'@'GUVENILIR_IP' IDENTIFIED BY 'GUCLU_PAROLA';
GRANT SELECT, INSERT, UPDATE, DELETE ON veritabani_adi.* TO 'uygulama_kullanicisi'@'GUVENILIR_IP';
FLUSH PRIVILEGES;
2. MariaDB veya MySQL Dinleme Adresini Kontrol Edin
bind-address ayarı genellikle /etc/my.cnf veya /etc/mysql/mariadb.conf.d/ altındaki yapılandırma dosyalarında bulunur. Mümkünse veritabanını özel ağ IP adresinde dinletecek şekilde yapılandırın. 0.0.0.0 kullanımı tüm ağ arayüzlerinde dinlemeye neden olur ve ilave güvenlik önlemleri olmadan önerilmez.
Değişiklikten sonra MariaDB/MySQL servisini yeniden başlatın ve hata kayıtlarını kontrol edin. Hizmet adı sisteminizde mariadb veya mysql olabilir.
3. Güvenlik Duvarını Yalnızca Güvenilir IP’ye Açın
CyberPanel güvenlik duvarında veya işletim sisteminizin firewall aracında 3306/TCP erişimini yalnızca bağlantı kuracak IP adresine izin verecek şekilde tanımlayın. Portu tüm internete açmayın. Sunucular aynı sağlayıcı veya özel ağ içindeyse genel IP yerine özel ağ bağlantısını tercih edin.
4. Bağlantıyı Test Edin
mysql -h VERITABANI_SUNUCU_IP -P 3306 -u uygulama_kullanicisi -p
Bağlantı kurulamıyorsa kullanıcı host yetkisini, firewall kuralını, bind-address değerini ve MariaDB/MySQL servis durumunu sırayla kontrol edin.
CyberPanel Remote SQL ile Uzak Erişim Aynı Şey Değildir
CyberPanel’in kurulum sırasında sunduğu Remote SQL seçeneği, panelin ve oluşturulan sitelerin veritabanlarını ayrı bir veritabanı sunucusunda barındırmak içindir. Mevcut yerel veritabanını masaüstü istemcisine açmak ise farklı bir işlemdir. Yeni kurulumda ayrı veritabanı sunucusu kullanacaksanız CyberPanel’in resmî Remote SQL belgesindeki gereksinimleri izleyin.
Sık Karşılaşılan Sorunlar
- Access denied: Kullanıcının bağlandığı IP için yetkisi veya ilgili veritabanına izni olmayabilir.
- Connection timed out: Firewall, sağlayıcı güvenlik grubu veya network yönlendirmesi portu engelliyor olabilir.
- Connection refused: Servis çalışmıyor veya yalnızca localhost üzerinde dinliyor olabilir.
- IP değişikliği: Bağlantı kuran tarafın IP adresi değiştiyse kullanıcı ve firewall kuralları güncellenmelidir.
Güvenlik Kontrol Listesi
- Root hesabını uzak bağlantıda kullanmayın.
- Her uygulama için ayrı ve güçlü parola kullanan veritabanı hesabı oluşturun.
- Erişimi sabit IP, VPN, özel ağ veya SSH tüneliyle sınırlandırın.
- Gereksiz veritabanı yetkilerini vermeyin.
- Veritabanı ve işletim sistemi güncellemelerini düzenli uygulayın.
- Başarısız bağlantı denemelerini ve servis kayıtlarını takip edin.
- Kritik veriler için sunucu dışında ayrıca yedek bulundurun.
Daha ayrıntılı kurulum bilgisi için CyberPanel Remote SQL belgesini inceleyebilirsiniz.
