Uzak MySQL Veritabanına Nasıl Bağlanılır?

Uzak MySQL veritabanı bağlantısı ve Tableau ile remote MySQL bağlantısı yazılarında uzak bir sunucudaki MySQL veri tabanına nasıl bağlanabileceğimizden bahsetmiştim. Ancak, konuyla ilgili aldığım sorular çerçevesinde daha temel bir anlatımın gerekli olduğunu gördüm.

AA

Öncelikle, bu yazıda öne çıkarılan bir uygulama olmadığını belirtmek isterim. Aşağıdaki adımlar, kullandığınız uygulama, platform ve benzeri ne olursa olsun takip edebileceğiniz adımlardan oluşmakta. Bu nedenle, adımları birebir gerçekleştirmek yerine, belirtilen hususlara dikkat etmeniz çözüm üretebilmeniz için yeterli olacaktır.

Uzak MySQL Veritabanı

WordPress ve benzeri içerik yönetim sistemlerinde genellikle veritabanı tablolarına localhost bağlantı sağlanmaktadır. Bu bir alışkanlık olarak değerlendirilebilir. Ancak, bu bir zorunluluk değildir. Veritabanı bağlantısını farklı bir server üzerinden de sağlayabiliriz. Diğer yandan, bilgisayarınızdaki bir program aracılığıyla da veritabanına bağlanmak ve işlemler yürütmek isteyebilirsiniz. Örneğin, daha önce Tableau ile bir bağlantı sağlamıştık. Bunun yanı sıra, diyelimki Navicat gibi1 bir arayüz üzerinden ya da bir programlama dilini kullanarak bağlantı gerçekleştirmek istiyorsunuz. Öncelikle, ilk dikkat etmeniz gereken konu bir alan adı ve/veya IP adresinin sunuluyor olması. Bu amaçla, remotemysql.com adresi üzerinden bir uzak mysql veritabanı oluşturalım.

Remote MySQL Bağlantısı

Toparlamak gerekirse, uzak bir MySQL bağlantısı için kullanıcı adı, şifre ve veritabanı adresine ihtiyacımız var. Kullanıcı adı ve şifre bağlantının sağlanmasının ardından, ilgili tablolara erişim için gerekli. Biz bir adım öncesi olan bağlantının sağlanması aşamasına odaklanalım. Genellikle, veritabanı bağlantıları 3306 no’lu port üzerinden sağlanmaktadır. Bu bilgi aklımızda olmalı! Eğer, farklı bir port kullanılıyor ise belirgin bir şekilde 3306 no’lu port üzerinden işlem yürütmeniz pek muhtemel olmayacaktır.

Evet, ön tanımlı olarak sunulan 3306 no’lu portu bir test edelim. Bu işlem için, komut satırı üzerinden nmap (Network Mapper) aracını kullanacağım. Farklı işletim sistemleri için yayınlanan paketlere nmap üzeriden2 ulaşabilirsiniz. Mac OS için brew aracılığıyla ilgili kurulumu gerçekleştirmek için şu komutu kullanacağım.

brew install nmap

Kurulumun tamamlanmasının ardından ilgili port sorgulaması için şu komutu kullanabilirim.

nmap -p 3306 remotemysql.com

Bu sorgulamanın ardından aşağıdaki gibi bir dönüş almam gerekiyor.

MacOS NMAP Port Tarama İşlemi

Görüldüğü üzere state açık ve MySQL servisi tarafından kullanılıyor. Bu işlem için Mac OS bilgisayarlarda bulunan Network Utility (Ağ İzlencesi)3 aracı da kullanılabilir. İlgili uygulamaya Spotlight aracılığıyla ulaşabilirsiniz. Ardından, açılacak pencerede yer alan Port Scan sekmesini tıklamalı, adres alanına adres bilgisini ekleyip, port bölümüne 3306 yazmalısınız. Scan butonunu tıklamanızın ardından yine ilgili port’un durumunu görüntüleyebilirsiniz.

MacOS Network Utility - Port Scan

Port sorgulama işlemini hangi araçlarla yaptığınız önemli değil. Neticede alacağınız dönüş benzer olacaktır. Önemli olan state’in open ve port’un MySQL tarafından dinlendiği bilgisi. Bu bilgiler bağlantı kurabileceğimiz anlamına gelmekte. Eğer ilgili port açık değilse, bunun için sunucuda işlemler yürütmek ya da hosting servisinden destek talep etmek gerekecektir. Paylaşımlı hosting alanlarında bağlantı adresi ve port bilgileri açık bir şekilde belirtilmeyebilir.

Ardın son adıma geldik. Bağlantımızı gerçekleştirebiliriz. Örnek işlem için yazının başında da belirttiğim üzere Navicat uygulamasını kullanacağım. Yine altını çizmem gerekir ki bu işlem için farklı uygulamaları ve programlama dillerini kullanabilirsiniz. Hemen hemen her durumda bağlantı için benzer bilgiler gerekecektir.

Navicat Mysql Bağlantısı

MySQL veritabanını Remotemysql aracılığıyla oluşturmuştum. Siz bağlatı kurmak istediğiniz veritabanı bilgilerini girebilirsiniz. Connection name alanına herhangi bir isim verebilirsiniz. Bu alan bağlantı için gerekli olan bir alan değil. Host alanına uzak MySQL veritabanına erişim için kullanacağımız ve port bilgisini sorguladığımız alan adı ve/veya IP adresini, port alanına da yine -eğer farklı değilse- state durumunu ve kullanan servisi görüntülediğimiz port bilgisini (ön tanımlı: 3306) yazmamız gerekli. Eğer bağlantı başarıyla sağlanmışsa, bağlantı için kullanılacak veritabanı kullanıcı adı ve şifresini de yazdıktan sonra bağlantı işlemini gerçekleştirebilirsiniz.

Navicat Mysql Bağlantısı

İlgili adres doğru, port açık ve kullanıcı bilgilerimiz de doğru ise artık veritabanı işlemlerine başlayabiliriz. Ben, filldb.info aracılığıyla bir örnek veritabanı içeriği oluşturdum ve Navicat üzerinden bu içeriği tabloya uzak bağlantı aracılığıyla uyguladım. Yukarıdaki görselde de görüldüğü üzere, her şey yolunda.