MySQL root şifremi nasıl boşa değiştiririm?


43

Yerel olarak çalışırken, veritabanıma erişmek için şifremi gerçekten girmem gerekmez. MySQL'i ilk kurduğumda root şifremi değiştirdim, fakat şifremi nasıl değiştireceğimi bilmiyorum. Ne yapmalıyım?

Yanıtlar:


43

Kök şifresini şu şekilde değiştirmek için newpassword:

 mysqladmin -u root -p'oldpassword' password 'newpassword'

Kökü değiştirmek için root şifresi gerektirmez:

 mysqladmin -u root -p'oldpassword' password ''

Not: -pve arasında bir boşluk olmadığı önemli, 'oldpassword'ancak bu konuda yanılmış olabilirim


3
Hata alıyorum: erişim 'root' @ localhost için reddedildi. lütfen bunu nasıl düzeltebilirim?
tq

benim için çalışıyor: mysqladmin -u root -p'oldpassword 'password' '@tq: tam olarak oldpassword yazmalısınız
Bảo Nam

15

Şifreyi kaldırmak yerine (bu sunucuyu Wilds'a maruz bırakırsanız gelecekte rahatsız edici sonuçlar doğurabilecekse), şu anki parolayı (ve kullanıcı adınızı) ~/.my.cnfşunun gibi görünen (veya Windows'taki eşdeğer bir yere) yerleştirin:

[client]
user = root
password = s3kr1t

Bu MySQL'e, gelecekteki rahatsızlıktan dolayı sizi tamamen açık bırakmadan, verilen bilgileri kullanarak otolog oluşturma yeteneği sağlar.


7
  1. MySQL'i durdurun ve --skip-grant-tables seçeneğiyle yeniden başlatın .
  2. Sadece mysql kullanarak bağlanın .
  3. Kök şifresini değiştirin:

    GÜNCELLEME mysql.user SET Şifre = ŞİFRE ('MyNewPass') NEREDE Kullanıcı = 'root';

    FLUSH ÖZELLİKLERİ;

Başvuru için: resmi mysql docs .


1
Bu işe yarıyor ama bunu yapmanın kaba bir yoludur. Bu, şifreyi bilmediğiniz zaman içindir.
David

6

MySQL 5.7 ile başlayan validate_password eklentisinin varsayılan olarak etkin olduğunu ve boş bir şifre kullanmanızı engellediğini unutmayın.

Boş bir şifreye izin vermek için bu eklentiyi devre dışı bırakmanız gerekir:

UNINSTALL PLUGIN validate_password;
SET PASSWORD FOR root@localhost = PASSWORD('');

Güvenliği önemsemediğiniz sürece, @ womble'ın tavsiyesine uymalı ve .my.cnfkolaylık olması için bir dosyayla birlikte bir şifre kullanmalısınız .

Bu konuyla ilgili MySQL root şifresini kaldırma makalemi kontrol edin !


> 5.6 sürümleri için çalışan tek yol budur. Eski versiyonlarda da çalışması gerektiğinden şüpheleniyorum.
Diego,

1

Daha yeni sürümlerde

UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass') WHERE User='root'

ve bu şifre kaldıracak

UPDATE mysql.user SET authentication_string=PASSWORD('') WHERE User='root'
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.