Uzaktan Erişime Ne Zaman İhtiyaç Duyarsınız?
Uzaktan veritabanı erişimi, MySQL veritabanınıza şuralardan bağlanmanızı sağlar:
- Yerel geliştirme ortamı (XAMPP, MAMP, Docker)
- Masaüstü veritabanı araçları (MySQL Workbench, DBeaver, Sequel Pro)
- Diğer sunucular veya bulut uygulamaları
- Otomatik betikler ve yedekleme araçları
Güvenlik Notu: Uzaktan MySQL erişimi olası bir güvenlik riski doğurur. Yalnızca gerektiğinde açın ve her zaman güçlü parolalar kullanın.
Uzaktan Erişimi Açma
Adım 1: Uzak Sunucuyu Ekleyin
- EGPNL'e giriş yapın
- Veritabanları → Uzak MySQL bölümüne gidin
- IP adresinizi veya sunucu adınızı girin
- Sunucu Ekle'ye tıklayın
IP'nizi Bulun: Mevcut genel IP adresinizi öğrenmek için whatismyipaddress.com adresini ziyaret edin.
Adım 2: Veritabanı Kullanıcısını Yapılandırın
Veritabanı kullanıcınızın doğru izinlere sahip olduğundan emin olun:
- MySQL Veritabanları'na gidin
- Kullanıcınızın Tüm Yetkiler'e sahip olduğunu kontrol edin
- Ya da uzaktan erişim için ayrı bir kullanıcı oluşturun
Bağlantı Ayarları
| Ayar | Değer |
|---|---|
| Sunucu Adı | Sunucu IP adresiniz veya yourdomain.com |
| Port | 3306 (varsayılan MySQL portu) |
| Veritabanı | your_database_name |
| Kullanıcı Adı | your_database_user |
| Parola | your_database_password |
MySQL Workbench ile Bağlanma
- MySQL Workbench'i açın
- Yeni bağlantı eklemek için +'ya tıklayın
- Bağlantı adını girin
- Sunucu Adı'nı sunucu adresiniz olarak ayarlayın
- Port'u 3306 yapın
- Kullanıcı adını girin
- Parola için Store in Vault'a tıklayın
- Test Connection'a tıklayın
- Kaydetmek için OK'a tıklayın
Komut Satırıyla Bağlanma
# Basic connection
mysql -h your-server.com -P 3306 -u username -p database_name
# Example
mysql -h server.egphp.com -P 3306 -u mysite_user -p mysite_db
PHP ile Bağlanma (Uzak Uygulama)
<?php
$host = 'your-server.com'; // Remote server hostname
$port = 3306;
$database = 'your_database';
$username = 'your_user';
$password = 'your_password';
// PDO Connection
try {
$pdo = new PDO(
"mysql:host=$host;port=$port;dbname=$database;charset=utf8mb4",
$username,
$password,
[PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
);
echo "Connected successfully!";
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
?>
Tüm Sunuculara İzin Verme (Joker)
Herhangi bir IP adresinden bağlantıya izin vermek için:
- EGPNL'de Uzak MySQL bölümüne gidin
- Sunucu olarak
%girin - Sunucu Ekle'ye tıklayın
Önerilmez: Tüm sunuculara izin vermek (%) bir güvenlik riskidir. Yalnızca test için kullanın ve sonra kaldırın. Mümkün olduğunca belirli IP adresleri kullanın.
SSH Tüneli (En Güvenlisi)
Azami güvenlik için bir SSH tüneli üzerinden bağlanın:
Komut Satırında SSH Tüneli
# Create tunnel
ssh -L 3307:localhost:3306 user@your-server.com
# In another terminal, connect via tunnel
mysql -h 127.0.0.1 -P 3307 -u dbuser -p database_name
MySQL Workbench SSH
- Yeni bağlantı oluşturun
- Bağlantı Yöntemi: Standard TCP/IP over SSH
- SSH Sunucu Adı: your-server.com
- SSH Kullanıcı Adı: SSH kullanıcınız
- SSH Anahtar Dosyası: özel anahtarınız (isteğe bağlı)
- MySQL Sunucu Adı: localhost (veya 127.0.0.1)
- Veritabanı bilgilerini girin
Neden SSH Tüneli? SSH tünelleri tüm trafiği şifreler ve MySQL 3306 portunu internete açmayı gerektirmez.
Sorun Giderme
Bağlantı Reddedildi
- IP adresinizin Uzak MySQL'e eklendiğini doğrulayın
- IP adresinizin değişip değişmediğini kontrol edin (dinamik IP)
- Güvenlik duvarınızda 3306 portunun açık olduğunu onaylayın
Erişim Reddedildi
- Kullanıcı adını ve parolayı doğrulayın
- Kullanıcının uzaktan erişim yetkisi olduğunu kontrol edin
- Veritabanı adının doğru olduğundan emin olun
Zaman Aşımı Hataları
- Ağın/güvenlik duvarının 3306 portunu engelleyip engellemediğini kontrol edin
- Bunun yerine SSH tüneli kullanmayı deneyin
- Sunucunun bağlantı kabul ettiğini doğrulayın
Uzaktan Erişimi Kaldırma
Uzaktan erişime artık ihtiyacınız kalmadığında:
- EGPNL'de Uzak MySQL bölümüne gidin
- IP/sunucu kaydını bulun
- Sil'e tıklayın
Bu makale yardımcı oldu mu?