Yıllık alımda %20 indirim — Hosting & VDS
Navicat Şifre Değiştirme: MySQL Root Sıfırlama
Rehber

Navicat Şifre Değiştirme: MySQL Root Sıfırlama

M
Mezuhost Teknik Ekip
5 Ağustos 2026 7 dakika okuma 33 görüntülenme

Navicat ile sunucunuza bağlanamıyor musunuz? SSH üzerinden MySQL root şifresini sıfırlamanın adım adım yolu — FreeBSD ve Linux için, MySQL 5.7 ve 8.0 uyumlu komutlarla.

Navicat, MySQL ve MariaDB veritabanlarını görsel arayüzle yönetmek için en yaygın kullanılan araçlardan biridir. Ancak root şifresini unuttuğunuzda veya şifre değiştiğinde Navicat bağlantı kuramaz ve "Access denied for user 'root'" hatası alırsınız.

Bu rehberde, SSH üzerinden MySQL root şifresini sıfırlayıp Navicat'a yeniden giriş yapmanın adımlarını anlatıyoruz. İşlem hem FreeBSD hem Linux sunucularda uygulanabilir.

Başlamadan Önce: Önemli Uyarılar

Bu işlem sırasında veritabanınız korumasız kalır

Şifre sıfırlama, MySQL'i yetki kontrolü kapalı şekilde (skip-grant-tables) başlatmayı gerektirir. Bu modda şifresiz herkes veritabanına bağlanabilir. Bu yüzden:

  • İşlemi mümkün olan en kısa sürede tamamlayın.
  • Sunucunuzun 3306 portu dışarıya kapalı olmalıdır. Dışarı açıksa, işlem öncesi güvenlik duvarından kapatın.
  • İşlem bittiğinde MySQL'i normal modda yeniden başlatmayı unutmayın.

Önce yedek alın

Veritabanı üzerinde yetki tablolarına müdahale edeceksiniz. Bir hata durumunda geri dönebilmek için işlem öncesi yedek almanız önerilir.

MySQL sürümünüzü öğrenin

Komutlar sürüme göre değişir. Sürümünüzü şu komutla öğrenebilirsiniz:

mysql --version

MySQL 5.6 ile 8.0 arasında şifre değiştirme komutu tamamen farklıdır. Yanlış komut kullanırsanız "You have an error in your SQL syntax" veya "Unknown column 'password'" hatası alırsınız.

Adım 1: MySQL Servisini Durdurun

FreeBSD sunucularda

/usr/local/etc/rc.d/mysql-server stop

Metin2 sunucuları geleneksel olarak FreeBSD üzerinde çalıştığı için, oyun sunucusu işletiyorsanız büyük ihtimalle bu komutu kullanacaksınız.

Linux sunucularda

systemctl stop mysqld

MariaDB kullanıyorsanız servis adı farklı olabilir:

systemctl stop mariadb

Servisin gerçekten durduğunu doğrulayın

ps aux | grep mysqld

Çalışan bir mysqld süreci kalmışsa sonraki adım başarısız olur.

Adım 2: MySQL'i Yetki Kontrolü Kapalı Başlatın

mysqld_safe --skip-grant-tables --skip-networking &

--skip-networking parametresi önemlidir: MySQL'i yalnızca yerel bağlantılara açar, böylece korumasız olduğu süre boyunca dışarıdan erişilemez. Orijinal komutlarda bu parametre genellikle atlanır ama güvenlik açısından eklenmesi gerekir.

Komut çalıştıktan sonra birkaç saniye bekleyin; servisin başlaması zaman alır.

Adım 3: MySQL'e Bağlanın

mysql -u root

Yetki kontrolü kapalı olduğu için şifre sorulmadan giriş yapabilirsiniz. Ardından yetki veritabanını seçin:

use mysql;

Adım 4: Şifreyi Değiştirin

Bu adım MySQL sürümünüze göre değişir. Doğru komutu kullanmak kritiktir.

MySQL 8.0 ve üzeri

Önce yetki tablolarını yeniden yükleyin, sonra şifreyi değiştirin:

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YeniSifreniz';

MySQL 8.0'da PASSWORD() fonksiyonu tamamen kaldırılmıştır. Eski rehberlerdeki SET PASSWORD = PASSWORD("...") komutu bu sürümde çalışmaz.

MySQL 5.7

UPDATE user SET authentication_string = PASSWORD('YeniSifreniz') WHERE User = 'root';

5.7 sürümünde password kolonu authentication_string olarak yeniden adlandırılmıştır.

MySQL 5.6 ve öncesi

UPDATE user SET password = PASSWORD('YeniSifreniz') WHERE User = 'root';

Eski sürümlerde klasik password kolonu kullanılır. Çoğu internet rehberi bu komutu verir; sunucunuz yeni sürüm kullanıyorsa hata alırsınız.

MariaDB

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YeniSifreniz';

Adım 5: Değişikliği Uygulayın ve Çıkın

FLUSH PRIVILEGES;
quit

FLUSH PRIVILEGES komutu, yaptığınız değişikliğin bellekteki yetki tablosuna işlenmesini sağlar. Bu adımı atlarsanız şifre değişikliği etkili olmaz.

Adım 6: MySQL'i Normal Modda Yeniden Başlatın

Önce yetki kontrolü kapalı çalışan süreci sonlandırın:

killall mysqld

Ardından servisi normal şekilde başlatın.

FreeBSD

/usr/local/etc/rc.d/mysql-server restart

Linux

systemctl start mysqld

Doğrulama

Yeni şifrenizle bağlanmayı deneyin:

mysql -u root -p

Şifre sorulmalı ve giriş başarılı olmalıdır. Bu aşamada güvenlik duvarında kapattığınız portları eski haline getirmeyi unutmayın.

Navicat'ta Bağlantıyı Güncelleyin

Şifre değiştikten sonra Navicat'taki kayıtlı bağlantınız hâlâ eski şifreyi kullanır. Güncellemek için:

  • Navicat'ı açın ve ilgili bağlantıya sağ tıklayıp Edit Connection seçin.
  • Password alanına yeni şifrenizi girin.
  • Test Connection ile bağlantıyı doğrulayın.
  • Başarılıysa kaydedin.

Sık Karşılaşılan Hatalar

"Unknown column 'password' in 'field list'"

MySQL 5.7 veya 8.0 kullanıyorsunuz ama eski komutu çalıştırdınız. Yukarıdaki sürüme uygun komutu kullanın.

"ALTER USER failed" veya "You are using safe update mode"

MySQL 8.0'da skip-grant-tables modunda ALTER USER çalıştırmadan önce FLUSH PRIVILEGES; komutunu vermeniz gerekir. Bu adımı atlamayın.

Servis yeniden başlamıyor

Yetki kontrolü kapalı çalışan eski süreç hâlâ ayakta olabilir. ps aux | grep mysqld ile kontrol edip kalan süreçleri sonlandırın.

Navicat hâlâ bağlanamıyor

Şifre doğruysa sorun ağ tarafında olabilir. Sunucunuzun 3306 portunun Navicat'ın bağlandığı IP adresine açık olduğundan emin olun. Uzaktan bağlantı için root kullanıcısının 'root'@'%' yetkisi de gerekebilir.

Güvenlik Tavsiyesi: Root ile Uzaktan Bağlanmayın

Navicat ile veritabanına bağlanırken root kullanıcısını kullanmak yaygın ama riskli bir alışkanlıktır. Daha güvenli yaklaşım:

  • Yalnızca ihtiyaç duyduğunuz veritabanına yetkili ayrı bir kullanıcı oluşturun.
  • Uzaktan bağlantıyı yalnızca kendi IP adresinize açın.
  • Mümkünse Navicat'ın SSH Tunnel özelliğini kullanın; böylece 3306 portunu dışarıya hiç açmanız gerekmez.
  • Root kullanıcısının uzaktan erişimini tamamen kapatın.

SSH tüneli yöntemi, veritabanı portunu internete açmadan Navicat kullanmanızı sağlar ve en güvenli seçenektir.

Metin2 Sunucularında Özel Durum

Metin2 sunucusu işletiyorsanız veritabanı yalnızca bir yönetim aracı değil, oyununuzun kalbidir. Karakterler, envanterler, loncalar ve hesaplar burada tutulur.

Bu nedenle veritabanına müdahale ederken iki noktaya dikkat edin:

  • Oyun sunucusunu da durdurun. MySQL kapalıyken çalışan oyun sunucusu hata verir ve veri tutarsızlığı oluşabilir.
  • Yoğun olmayan saatte yapın. Oyuncular çevrimiçiyken veritabanını durdurmak veri kaybına yol açabilir.

Metin2 sunucu mimarisi ve veritabanının nasıl çalıştığı hakkında daha fazla bilgi için kanal yapısı ve auth sunucusu yazımıza göz atabilirsiniz. Sunucu ihtiyacınız varsa Metin2 sunucu paketlerimizi inceleyebilirsiniz; MySQL veya MariaDB kurulu olarak teslim ediyoruz.

Özet

MySQL root şifresi sıfırlama işlemi altı adımdan oluşur: servisi durdurmak, yetki kontrolü kapalı başlatmak, bağlanmak, sürüme uygun komutla şifreyi değiştirmek, yetkileri yenilemek ve servisi normal modda yeniden başlatmak.

En kritik nokta MySQL sürümünüze uygun komutu kullanmaktır; internetteki çoğu rehber eski sürüme göre yazılmıştır ve MySQL 8.0'da çalışmaz.

İşlem sırasında takılırsanız veya sunucunuza erişemez hâle gelirseniz, teknik destek ekibimize yazabilirsiniz. Mezuhost müşterisiyseniz bu işlemi sizin adınıza yapabiliriz.

navicat mysql sifre veritabani rehber
Paylaş
M

Mezuhost Teknik Ekip

Mezuhost — Teknik İçerik Ekibi

İletişim

Mezuhost ile Hizmetlerimizi Keşfedin

DDoS korumalı sunucular, yüksek performanslı VDS ve hosting çözümleri.

Güvenilir İş Ortaklarımız & Altyapı Sağlayıcılarımız

Stormwall
MikroTik
Juniper
Datacasa
Cloudflare
Dell
Ryzen
Arbor
Stormwall
MikroTik
Juniper
Datacasa
Cloudflare
Dell
Ryzen
Arbor
Stormwall
MikroTik
Juniper
Datacasa
Cloudflare
Dell
Ryzen
Arbor