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

  1. EGPNL'e giriş yapın
  2. VeritabanlarıUzak MySQL bölümüne gidin
  3. IP adresinizi veya sunucu adınızı girin
  4. 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:

  1. MySQL Veritabanları'na gidin
  2. Kullanıcınızın Tüm Yetkiler'e sahip olduğunu kontrol edin
  3. 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

  1. MySQL Workbench'i açın
  2. Yeni bağlantı eklemek için +'ya tıklayın
  3. Bağlantı adını girin
  4. Sunucu Adı'nı sunucu adresiniz olarak ayarlayın
  5. Port'u 3306 yapın
  6. Kullanıcı adını girin
  7. Parola için Store in Vault'a tıklayın
  8. Test Connection'a tıklayın
  9. 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:

  1. EGPNL'de Uzak MySQL bölümüne gidin
  2. Sunucu olarak % girin
  3. 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

  1. Yeni bağlantı oluşturun
  2. Bağlantı Yöntemi: Standard TCP/IP over SSH
  3. SSH Sunucu Adı: your-server.com
  4. SSH Kullanıcı Adı: SSH kullanıcınız
  5. SSH Anahtar Dosyası: özel anahtarınız (isteğe bağlı)
  6. MySQL Sunucu Adı: localhost (veya 127.0.0.1)
  7. 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:

  1. EGPNL'de Uzak MySQL bölümüne gidin
  2. IP/sunucu kaydını bulun
  3. Sil'e tıklayın