Bagaimana untuk menyelesaikan MySQL ERROR 1045 (28000): Akses dinafikan untuk pengguna 'root'@'localhost'

Apabila anda cuba menggunakan pangkalan data MySQL , anda mungkin menghadapi mesej ralat berikut:

Bagaimana untuk menyelesaikan MySQL ERROR 1045 (28000): Akses dinafikan untuk pengguna 'root'@'localhost'

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

Cara penyelesaianMySQL ERROR 1045 (28000): Akses dinafikan untuk pengguna 'root'@'localhost'?

1. Hentikan pelayan anda dahulu

service mysql stop
2. Buat direktori perkhidmatan MySQL.
mkdir /var/run/mysqld

3. Berikan kebenaran MySQL untuk menggunakan direktori yang dibuat.

chown mysql: /var/run/mysqld
4. Mulakan MySQL tanpa kebenaran dan semakan rangkaian.
mysqld_safe --skip-grant-tables --skip-networking &
5. Log masuk ke pelayan anda tanpa sebarang kata laluan.
mysql -u root mysql

atau:

mysql -u root mysql

Dalam klien mysql, beritahu pelayan untuk memuatkan semula jadual pemberian supaya penyata pengurusan akaun berfungsi:

mysql> FLUSH PRIVILEGES;

kemudian ubah suai'root'@'localhost'kata laluan akaun.Gantikan kata laluan dengan kata laluan yang anda mahu gunakan.Untuk menukar kata laluan untuk akaun akar dengan bahagian nama hos yang berbeza, ubah suai arahan untuk menggunakan nama hos tersebut.

MySQL 5.7.6 dan lebih baru:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

MySQL 5.7.5 dan lebih awal:

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

atau terus pada jadual pengguna:

UPDATE mysql.user SET password=PASSWORD('mynewpassword') WHERE user='root';

Untuk XAMPP

Untuk menghentikan perkhidmatan MySQL, buka tetingkap arahan dan navigasi ke direktori XAMPP MySQL:

> cd \xampp\mysql\bin\

Untuk menjalankan perkhidmatan tanpa keselamatan (perhatikan bahawa anda menjalankan mysqld, bukan mysql):

> mysqld.exe --skip-grant-tables

Perkhidmatan MySQL akan berjalan dalam tetingkap ini, jadi buka tetingkap arahan lain dan tukar ke direktori XAMPP MySQL:

> cd \xampp\mysql\bin\

Jalankan klien MySQL:

> mysql

Kemas kini kata laluan:

mysql> UPDATE mysql.user SET password=PASSWORD('mynewpassword') WHERE user='root';

Keluar dari MySQL:

mysql> \q

Gunakan pengurus tugas untuk membatalkan mysqld.exe yang masih berjalan, dan mulakan semula perkhidmatan MySQL.

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Tatal ke