Bagaimana menghapus kata sandi root MySQL [tertutup]

195

Saya ingin menghapus kata sandi untuk root pengguna di localhost. Bagaimana saya bisa melakukan itu? Secara tidak sengaja saya telah menetapkan kata sandi pengguna root. Itu sebabnya phpmyadmin memberikan kesalahan:

#1045 - Access denied for user 'root'@'localhost' (using password: NO)

nektar
sumber
4
Mengapa tidak mengkonfigurasi phpMyAdmin Anda untuk menggunakan kata sandi root?
sisve
2
Dokumentasi MySQL berisi instruksi tentang cara mereset kata sandi root jika Anda lupa.
Michael Madsen
Perhatikan bahwa dimulai dengan MySQL 5.7, kata sandi root acak diatur secara default, dan Anda tidak dapat menghapusnya tanpa menonaktifkan validate_passwordplugin terlebih dahulu. Lihat artikel saya Menghapus kata sandi root MySQL atau inti ini secara langsung.
Benjamin

Jawaban:

360

Anda perlu mengatur kata sandi root@localhostagar kosong. Ada dua cara:

  1. SET PASSWORDPerintah MySQL :

    SET PASSWORD FOR root@localhost=PASSWORD('');
  2. Menggunakan mysqladminalat baris perintah:

    mysqladmin -u root -pType_in_your_current_password_here password ''
Dario
sumber
1
bagaimana cara mengatur ulang kata sandi untuk basis data yang terkait?
nektar
4
mysqladmin -u root -pcurrent_password password '' adalah cara lain untuk melakukannya.
crackity_jones
7
Yang perlu saya lakukan mysqladmin -u root -p password ''kemudian memasukkan kata sandi.
crizCraig
2
@crizCraig mungkin karena kata sandi Anda tidak ada CURRENTPASSWORD, argumen kata sandi (tidak seperti argumen lain) tidak memiliki spasi setelahnya. Jika Anda menghilangkan kata sandi, kata sandi itu akan meminta Anda untuk melakukannya ( doc )
Jason Sperske
3
@mOna coba dengan cara ini: 1- matikan mysql (mematikan layanan atau membunuhnya); 2- membuat file yang mengandung yang SET PASSWORD FOR root@localhost=PASSWORD('');disebut restore; 3 - panggilan mysqld_safe --init-file=path/to/restore; Terakhir masuk dan ubah kembali kata sandi dengan apa yang Anda inginkan.
Dario
23

Saya juga sudah melalui masalah ini,

Pertama saya mencoba mengatur kata sandi root ke blank menggunakan perintah:

SET PASSWORD FOR root@localhost=PASSWORD('');

Tapi jangan senang, PHPMYADMIN menggunakan 127.0.0.1 bukan localhost, saya tahu Anda akan mengatakan keduanya sama tetapi itu tidak terjadi, gunakan perintah yang disebutkan di bawah ini dan Anda selesai.

SET PASSWORD FOR root@127.0.0.1=PASSWORD('');

Cukup ganti localhost dengan 127.0.0.1 dan Anda selesai.

Faiz Akhtar
sumber
3
SET PASSWORD FOR root @ localhost = PASSWORD (''); bekerja untuk saya
workdreamer