Son gözden geçirme: Eylül 2026 · MySQL 8.4 Reference Manual (dev.mysql.com) resmi dokümanına göre
Hızlı çözüm
Windows sunucuda MySQL root şifresi sıfırlama işlemi MySQL servisini durdurup ALTER USER komutu içeren bir init dosyasıyla mysqld’yi başlatmaktan ibarettir; sunucunuzda yönetici olarak Komut İstemi’nde uygulayın.
net stop MySQL84 (servis adınız farklıysa Get-Service *MySQL* ile bulun).C:\mysql-init.txt dosyasına ALTER USER 'root'@'localhost' IDENTIFIED BY 'YeniSifreniz'; satırını yazın.mysqld --init-file=C:\mysql-init.txt komutunu çalıştırıp sunucunun başlamasını bekleyin.| Panel | Yok — MySQL Server Windows’ta bağımsız bir servis olarak çalışır |
|---|---|
| Sistem | Windows Server 2019, Windows Server 2022 + MySQL Server 8.0/8.4 |
| Yetki | Sunucuda yönetici (Administrator) hesabı |
| Narhost ürünü | VDS Sunucu |
Başlamadan önce
MySQL80, MySQL84 gibi sürüme göre değişir); Get-Service *MySQL* ile listeleyebilirsiniz.Root şifresi unutulduğunda ya da bir güvenlik ihlali sonrası zorunlu değişiklik gerektiğinde normal ALTER USER ya da SET PASSWORD komutları çalışmaz; çünkü bu komutların ikisi de root olarak oturum açmayı gerektirir. Bu yöntem bu döngüyü --init-file seçeneğiyle kırar: sunucu başlarken kimlik doğrulaması istemeden çalıştıracağı komutları bu dosyadan okur.
Bilgi
Linux sunucularda aynı işlem --skip-grant-tables ile yapılır; Windows’ta MySQL’in resmi dokümanı --init-file yöntemini önerir, iki yöntem de sunucuyu geçici olarak kimlik doğrulamasız açığa çıkarır.

net stop MySQL84
Beklenen sonuç: MySQL84 hizmeti durduruluyor. MySQL84 hizmeti başarıyla durduruldu.
C:\mysql-init.txt dosyasını oluşturun ve şu satırı yazın; YeniSifreniz yerine kendi şifrenizi kullanın.
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YeniSifreniz';
Beklenen sonuç: dosya düz metin olarak kaydedilir, uzantı .txt kalır.
bin klasörüne geçip mysqld’yi init dosyasıyla başlatın.
cd "C:\Program Files\MySQL\MySQL Server 8.4\bin"mysqld --init-file=C:\mysql-init.txt --console
Beklenen sonuç: konsolda başlangıç günlükleri akar, init dosyasındaki komut sessizce çalışır; hata yoksa sunucu normal açılış mesajlarını yazmaya devam eder.
del C:\mysql-init.txtnet start MySQL84
Beklenen sonuç: MySQL84 hizmeti başlatılıyor. MySQL84 hizmeti başarıyla başlatıldı.
MySQL servisinin sunucuda kurulu ve çalışır durumda olup olmadığını genel Windows komutuyla kontrol edebilirsiniz. Test sunucumuzda MySQL kurulu olmadığı için aşağıdaki çıktı servisin bulunmadığını gösteriyor; kurulu bir sunucuda aynı komut servis adını ve Running durumunu listeler.
Get-Service -Name '*MySQL*'
Test sunucumuzdaki gerçek çıktı: servis bulunamadı (MySQL kurulu değil). Kurulu bir sunucuda beklenen çıktı: Status Running, Name MySQL84.
Sonuç
Servis normal başladıktan sonra mysql -u root -p ile bağlanıp yeni şifrenizi girin; oturum açılıyorsa işlem tamamlanmıştır. MySQL’in resmi dokümanına göre eski şifre artık geçersizdir.
ALTER USER komutu içerdiğini kontrol edin.Get-Service *MySQL* ile tam adı görün; MySQL Installer ile kurulduysa mysqld komutuna --defaults-file parametresini de eklemeniz gerekebilir.Narhost desteği
Talebe şunları ekleyin: sunucu adı, MySQL sürümü ve servis adı, denediğiniz adım, aldığınız hata mesajı birebir.
Sonraki adımlar
Evet. Linux’ta --skip-grant-tables ile tüm yetki kontrolü kapatılır; Windows’ta MySQL’in resmi dokümanı --init-file yöntemini önerir ve komut satırı yolları (bin klasörü, dosya yolları) Windows biçimindedir.
Olabilir; bu durumda mysqld komutuna ek olarak --defaults-file="C:\ProgramData\MySQL\MySQL Server 8.4\my.ini" parametresini de eklemeniz gerekir, yoksa sunucu doğru yapılandırma dosyasını bulamaz.
Hayır. Bu adımlar yalnızca kendi Windows Server’ınızın çalıştığı VPS veya VDS ürünlerinde, kendi kurduğunuz MySQL sunucusunda uygulanır; Narhost’un VPS/VDS hatları yönetimsizdir.
Sunucu her başlangıçta aynı ALTER USER komutunu tekrar çalıştırmaya kalkar; hatasız çalışsa da gereksizdir, dosyayı silmek en temiz yoldur.
Bu makale sorununuzu çözdü mü?
Geri bildiriminiz için teşekkürler.
Çözemediniz mi?
Teknik ekibimiz sunucu tarafındaki ayarları sizin için kontrol edebilir. Destek talebinizde alan adınızı ve aldığınız hata metnini paylaşmanız süreci hızlandırır.