XAMPP MySQL “Shutdown Unexpectedly” Hatası ve 3306 Port Çakışması Sorunu Nasıl Çözülür?
XAMPP kullanırken MySQL servisini başlatmaya çalıştığınızda “MySQL shutdown unexpectedly” hatası ile karşılaşabilirsiniz. Bu hata, MySQL’in açılırken aniden kapanması veya başlatılamaması anlamına gelir. En yaygın sebeplerinden biri, MySQL’in kullandığı 3306 portunun başka bir program tarafından işgal edilmiş olmasıdır.
Bu yazıda bu hatanın neden kaynaklandığını ve nasıl çözüleceğini adım adım anlatacağım.
Hata Sebebi: 3306 Portu Başka Bir Program Tarafından Kullanılıyor
MySQL, varsayılan olarak TCP 3306 portunu kullanır. Eğer bu port başka bir program tarafından kullanılıyorsa, MySQL bu portu bağlayamaz ve hemen kapanır.
[ERROR] Do you already have another mysqld server running on port: 3306 ? [ERROR] Can't start server: Bind on TCP/IP port. Got error: 10048
Çözüm Adımları
1. 3306 Portunu Kullanan Programı Bulma
Windows Komut İstemi’ni açın (Başlat > cmd veya Win+R > cmd yazın).
Aşağıdaki komutu çalıştırın:
netstat -ano | findstr 3306
Çıktıda portu kullanan programın PID’si (işlem kimliği) gösterilecektir, örneğin:
TCP 0.0.0.0:3306 0.0.0.0:0 LISTENING 10200
Burada 10200 PID’dir.
2. PID’ye Karşılık Gelen Programı Bulma
- Görev Yöneticisi’ni açmak için Ctrl+Shift+Esc tuşlarına basın.
- “Detaylar” sekmesine gidin (görmüyorsanız alttan “Daha fazla ayrıntı” seçeneğini açın).
- PID sütununu açmak için sütun başlığına sağ tıklayın, “PID (İşlem Kimliği)” seçeneğini işaretleyin.
- PID sütununda yukarıdaki numarayı (örneğin 10200) bulun.
- Bu satırdaki “İşlem Adı” hangi programın portu kullandığını gösterir.
3. Programı Kapatma veya MySQL Portunu Değiştirme
- Eğer portu kullanan program MySQL ya da MariaDB ise, bu programı kapatın.
- Eğer programı kapatamıyorsanız veya başka bir port kullanmak istiyorsanız, XAMPP MySQL portunu değiştirebilirsiniz.
4. XAMPP MySQL Portunu Değiştirme
xampp/mysql/bin/my.ini
dosyasını bir metin editörü ile açın.[mysqld]
kısmındaport=3306
yazan satırı bulun.port=3306
değeriniport=3307
veya başka boş bir port numarası ile değiştirin.- Dosyayı kaydedip kapatın.
- XAMPP kontrol panelini yönetici olarak çalıştırıp MySQL’i yeniden başlatın.
5. XAMPP’yi Yönetici Olarak Çalıştırma
Bazı durumlarda MySQL’in portu açabilmesi için yönetici yetkileri gerekir. XAMPP kontrol paneline sağ tıklayıp “Yönetici olarak çalıştır” seçeneği ile açmak sorunu çözebilir.
Özet
- MySQL 3306 portunu kullanır.
- Eğer bu port başka program tarafından kullanılıyorsa MySQL açılamaz.
netstat
komutu ile portu kullanan PID bulunur.- Görev Yöneticisi’nden PID’ye karşılık gelen program kapatılır.
- Kapatmak mümkün değilse XAMPP MySQL portu değiştirilir.
- XAMPP yönetici olarak çalıştırılır.
Bu adımları takip ederek XAMPP MySQL “shutdown unexpectedly” sorununu kolayca çözebilirsiniz.