Veritabanı bilgilerinizi nerede bulacağınız, port 3306 üzerinden doğrudan uzak bağlantıların neden reddedildiği ve bunun yerine bir masaüstü aracını SSH tüneli üzerinden nasıl bağlayacağınız.
Veritabanı içeren her KapsuleHost web barındırma sitesi kendi veritabanına, kendi veritabanı kullanıcısına ve dilediğiniz zaman okuyabileceğiniz bilgilere sahip olur. Yapamayacağınız şey ise internet üzerinden doğrudan ona bağlanmaktır ve bu kasıtlıdır. Bu rehber, erişim bilgilerini, desteklenen iki giriş yöntemini ve masaüstü veritabanı araçlarının ihtiyaç duyduğu tüneli nasıl kuracağınızı kapsar.
Erişim Bilgilerinizi Bulma
Web Siteleri bölümüne gidin, siteye tıklayın, ardından Veritabanı seçeneğine tıklayın.
Sayfa beş bilgi gösterir:
| Alan | Değer |
|---|---|
| Host | 127.0.0.1 |
| Port | 3306 |
| Database | veritabanı adınız |
| Username | veritabanı kullanıcınız |
| Password | gizlenmiş, bir göster düğmesi ve bir kopyala düğmesi ile birlikte |
Parola yalnızca bir kerelik gösterilen bir bilgi değildir. İhtiyacınız olduğunda tekrar gelip okuyabilirsiniz, bu yüzden ayrıca saklamanıza gerek yoktur.
Veritabanı sunucusu, MySQL ile uyumlu olan MariaDB 10.11'dir. Bunun pratikte bir anlamı vardır: yakın bir MySQL sürümünden dışa aktarılan bir dökümde, MariaDB'nin tanımadığı karşılaştırma (collation) ayarları bulunabilir ve içe aktarma işlemi "bilinmeyen collation" hatasıyla başarısız olur. Bu durumda, utf8mb4_unicode_ci gibi yaygın şekilde uyumlu bir collation kullanarak yeniden dışa aktarın veya içe aktarmadan önce döküm dosyasında bunu arayıp değiştirin.

Host Neden 127.0.0.1 Olarak Görünüyor
127.0.0.1 "bu makine" anlamına gelir. Veritabanı sunucusu yalnızca makinenin kendi dahili arayüzünü dinler ve port 3306, güvenlik duvarında da internete açık değildir. Panelde bunu açmak için bir ayar bulunmaz ve bunun için bir IP izin listesi de yoktur.
Bu bir ihmal değildir. İnternete açık bir veritabanı portu, barındırma dünyasında en sık istismar edilen şeylerden biridir: sürekli taranır, bağlanan herkese sürüm bilgisini sızdırır ve tek bir zayıf parola tüm sitenizi kaybetmenize yol açabilir. Bunu kapalı tutmak, bu risk kategorisinin tamamını ortadan kaldırır.
Dolayısıyla sitenizin genel IP adresini ve port 3306'yı kullanan bir bağlantı dizesi, her planda, her yerden, her zaman başarısız olacaktır. Bunun yerine desteklenen iki giriş yöntemi vardır.
Seçenek 1: Tarayıcıda phpMyAdmin
Hızlı bir bakış, küçük bir düzenleme veya küçük bir içe/dışa aktarma için en kolay yöntemdir.
Database sayfasında phpMyAdmin'i Aç düğmesine tıklayın. Doğrudan sitenizin kendi bilgileriyle oturum açarsınız ve yalnızca kendi veritabanlarınızı görürsünüz.
Bunu sağlayan bağlantı kasıtlı olarak kısa ömürlüdür ve hata gibi görünen ama aslında hata olmayan şekillerde başarısız olur:
- 60 saniye içinde geçerliliğini yitirir. Göründüğü anda tıklayın.
- Yalnızca bir kez çalışır. Geri gidip sayfayı yeniden yüklemek işe yaramaz; yeni bir tane oluşturun.
- İstek yaptığınız tarayıcı ve ağ üzerinden açılmalıdır. Bağlantıyı başka bir cihaza kopyalarsanız veya bağlantınız işlem sırasında adres değiştirirse reddedilir.
"This link has already been used" ya da bir IP uyuşmazlığı mesajı görürseniz, bu korumanın çalıştığı anlamına gelir. Database sayfasına geri dönüp düğmeye tekrar tıklayın.
phpMyAdmin'in kendisiyle çalışmak için bkz. phpMyAdmin Kullanımı.
Seçenek 2: Masaüstü Araçları için SSH Tüneli
Bir masaüstü istemci kullanmak istiyorsanız, desteklenen yol budur. Tünel, sunucuya şifrelenmiş bir bağlantı açar ve kendi makinenizdeki bir portu bu bağlantı üzerinden yönlendirir, böylece istemciniz yerel bir veritabanı gibi görünen bir yere bağlanır.
Önce İhtiyacınız Olanlar
Sitede bir SSH anahtarı. Parola ile kimlik doğrulama kabul edilmez, bu yüzden bu adım isteğe bağlı değildir.
- Web Siteleri, ardından site, Ayarlar, ardından SSH Anahtarları bölümüne gidin.
- Zaten kullandığınız genel anahtarı yapıştırın veya panelden yeni bir anahtar çifti oluşturun.
- O sayfada gösterilen kullanıcı adını not edin. Bu, sitenizin sistem kullanıcısıdır ve bağlanırken kullanacağınız şey budur.
Panelde bir anahtar oluşturursanız, özel anahtar yalnızca bir kez gösterilir ve bir daha asla gösterilmez. Hemen kaydedin ve yalnızca sizin okuyabileceğiniz bir yerde saklayın.
Sitenize bir anahtar eklendiğinde ayrıca bir e-posta alırsınız. Bu kasıtlıdır. Böyle bir e-posta gelir ve bunu siz yapmadıysanız, anahtarı derhal o sayfadan iptal edin ve Siteniz Hacklenirse makalesini okuyun.
Tam adımlar için bkz. SSH Anahtarı Ekleme.
SFTP sekmesinde oluşturulan bir SFTP hesabı tünel için çalışmaz. Bu hesaplar yalnızca dosya aktarımı içindir, kabuk erişimi veya port yönlendirmesi yoktur. Tünelleme, sitenin kendi SSH kullanıcısını ve bir anahtar gerektirir. Bkz. SFTP Erişimi.
Tüneli Açma
Kendi makinenizdeki bir terminalden:
ssh -N -L 3307:127.0.0.1:3306 your-ssh-user@cp1-kapsule.kapsulehost.com
your-ssh-user ifadesini SSH Anahtarları sayfasındaki kullanıcı adıyla değiştirin. Bunu parçalara ayıralım:
-Nbir komut çalıştırmayın, yalnızca tüneli açık tutun anlamına gelir.-L 3307:127.0.0.1:3306makinenizdeki 3307 portunu sunucudaki 3306 portuna yönlendirir.- Yerel olarak çalıştırıyor olabileceğiniz bir veritabanıyla çakışmaması için 3306 yerine 3307 portu kullanılır.
Komut çalıştığında hiçbir şey yazdırmaz. Bu normaldir. Bağlantıya ihtiyacınız olduğu sürece terminal penceresini açık bırakın ve kapatmak için Ctrl+C tuşlarına basın.
İstemcinizi Bağlama
Tünel açıkken, veritabanı aracınızı şuraya yönlendirin:
| Ayar | Değer |
|---|---|
| Host | 127.0.0.1 |
| Port | 3307 |
| Username | Database sayfasındaki veritabanı kullanıcı adı |
| Password | Database sayfasındaki veritabanı parolası |
| Database | veritabanı adınız |
Şu ayrıma dikkat edin: SSH kullanıcı adı sitenizin sistem kullanıcısıdır ve veritabanı kullanıcı adı, Database sayfasından farklı bir kullanıcıdır. Bu ikisini birbirine karıştırmak, buradaki en yaygın hatadır.
Çoğu masaüstü istemcide ayrıca yerleşik bir "SSH tüneli üzerinden bağlan" seçeneği bulunur ve bu, ayrı bir terminale gerek kalmadan yukarıdakinin aynısını yapar. SSH host olarak cp1-kapsule.kapsulehost.com, port olarak 22, SSH kullanıcı adınızı ve özel anahtar dosyanızı girin, ardından veritabanı alanlarını yukarıdaki gibi doldurun.
İstemciye özel kurulum için bkz. Veritabanı SSH Tüneli.
Sunucuda Komut Satırı
Terminalde rahatsanız, tünele hiç ihtiyacınız yok demektir. SSH üzerinden bağlanın ve doğrudan sunucuda çalışın:
ssh your-ssh-user@cp1-kapsule.kapsulehost.com
mysqldump -u DBUSER -p DBNAME > backup.sql
Bu, büyük bir veritabanını tünelden geçirmekten çok daha hızlıdır ve riskli bir değişiklikten önce manuel bir döküm almanın doğru yoludur. Özellikle WordPress için WP-CLI genellikle daha da iyidir.
Sorun Giderme
Kendi makinenizden port 3306'da "Connection refused" hatası. Beklenen bir durumdur. Yukarıya bakın. Bir tünel kullanın.
Tünel komutu parola istiyor. Anahtarınız sunulmuyor veya yüklü değil. Anahtarın SSH Anahtarları sayfasında olduğunu kontrol edin ve komuta -i /path/to/your/private/key ekleyin.
"Permission denied (publickey)". Yanlış kullanıcı adı veya yanlış anahtar. Kullanıcı adı, SSH Anahtarları sayfasında yazan addır, KapsuleHost giriş e-postanız değil.
Port 3307 için "Address already in use". Zaten açık bir tünel var veya başka bir şey o portu kullanıyor. Diğerini kapatın veya 3308 gibi farklı bir yerel port seçin.
Tünel açılıyor ama istemci bağlanamıyor. İstemcinizin alan adınıza değil, 127.0.0.1 ve seçtiğiniz yerel porta yönlendirildiğini doğrulayın.
"Access denied for user". Bu SSH değil, veritabanı kimlik bilgileridir. Database sayfasından bunları tekrar gösterin ve kopyalayın.
İçe aktarırken "Unknown collation" hatası. Yukarıda ele alındı. Uyumlu bir collation ile yeniden dışa aktarın.
Bir veritabanı istemcisinde yaptığınız her şey anında gerçekleşir ve geri alınamaz. Bir onay adımı veya geri dönüşüm kutusu yoktur. Yazma işlemi yapan herhangi bir şeyi çalıştırmadan önce bir yedek alın. Bkz. Yedek Alma.