MySQL’in hangi portu dinlediğini öğrenmek, özellikle uzak bir sunucuya bağlanmadan önce bağlantı ayarlarını kontrol etmek için önemlidir. Aşağıdaki yöntemler en yaygın sistemlerde çalışır ve her birinin avantajları, gereksinimleri ve kısıtlamaları belirtilmiştir.
Varsayılan olarak boşsa ya da satır yoksa port 3306 kabul edilir. Dosya okunabilir olduğundan önceki yedekleme gerekmez.
Çıktıdaki
3.
Çıktıdaki
Çıktı şu biçimde olacaktır:
Bütün yöntemler bağımsızdır; birini kullandıktan sonra diğerini doğrulamak ek güvenlik katmanı sunar.
Uygulamaya geçmeden önce portun doğruluğunu kontrol etmek, bağlantı hatalarını önlemenin en etkili yoludur. Hangi yöntemin sizin ortamınızda en uygun olduğunu deneyimleyerek seçebilir, gerektiğinde birden fazla yöntemi birlikte kullanabilirsiniz.
| Yöntem | Nasıl Kullanılır | Gereksinim | Hız | Güvenlik |
|---|---|---|---|---|
| 1. Konfigürasyon dosyası (my.cnf / my.ini) | grep port /etc/mysql/my.cnf (Windows: findstr port C:\ProgramData\MySQL\MySQL Server 8.0\my.ini) | Dosya okuma yetkisi | Çok hızlı | Yüksek (şifreli dosya yoksa okunabilir) |
2. Sistem dinleme testi (netstat / ss) | sudo netstat -tlnp | grep mysqld veya ss -tlnp | grep mysqld | netstat/ss kurulu | Hızlı | Orta (root gerektirir) |
3. lsof | sudo lsof -i -P | grep mysqld | lsof kurulu | Hızlı | Orta (root gerektirir) |
4. SQL sorgusu (SHOW VARIABLES) | mysql -u root -p -e "SHOW VARIABLES LIKE 'port';" | MySQL'e erişim | Çok hızlı | Düşük (sadece bağlantı) |
1. Konfigürasyon dosyası
MySQL’in varsayılan portu 3306’dır, ancakmy.cnf/my.ini içinde port= satırıyla değiştirilebilir. Dosya genellikle /etc/mysql/mysql.conf.d/mysqld.cnf (Ubuntu), /etc/my.cnf (CentOS) veya Windows kurulum dizininde bulunur.
Bash:
grep -i '^port' /etc/mysql/my.cnf
Varsayılan olarak boşsa ya da satır yoksa port 3306 kabul edilir. Dosya okunabilir olduğundan önceki yedekleme gerekmez.
2. Sistem dinleme testi
Sistemdeki açık TCP portlarını görebilmek içinnetstat veya modern ss komutu kullanılabilir.
Bash:
sudo netstat -tlnp | grep mysqld
# veya
sudo ss -tlnp | grep mysqld
Çıktıdaki
0.0.0.0:3306 veya 127.0.0.1:3306 kısmı dinlenen portu gösterir. Root yetkisi gerekebilir, dolayısıyla farkındalıkla kullanılmalıdır.3. lsof ile kontrol
lsof açık dosya ve soketleri listeler. MySQL’in dinlediği portu bulmak için:
Bash:
sudo lsof -i -P | grep mysqld
Çıktıdaki
TCP *:3306 (LISTEN) satırı portu gösterir. lsof sistemde kurulu olmalı.4. SQL sorgusu
MySQL sunucusu çalışıyorsa doğrudan SQL ile portu sorgulayabilirsiniz. Bu yöntem hem hızlı hem de güvenli, çünkü sadece veri tabanı bağlantısı gerektirir.
Bash:
mysql -u root -p -e "SHOW VARIABLES LIKE 'port';"
Çıktı şu biçimde olacaktır:
Kod:
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port | 3306 |
+---------------+-------+
Hangisini Seçmeli?
- Kısa test: Bu yöntemleri sırayla deneyin; en hızlı
SHOW VARIABLES. - Sunucu erişimi yoksa: Konfigürasyon dosyasını okumak yeterli.
- Root yetkisi yaşanıyorsa:
netstat/ssvelsofgüvenli bir yoldur.
Bütün yöntemler bağımsızdır; birini kullandıktan sonra diğerini doğrulamak ek güvenlik katmanı sunar.
Uygulamaya geçmeden önce portun doğruluğunu kontrol etmek, bağlantı hatalarını önlemenin en etkili yoludur. Hangi yöntemin sizin ortamınızda en uygun olduğunu deneyimleyerek seçebilir, gerektiğinde birden fazla yöntemi birlikte kullanabilirsiniz.