Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara menonaktifkan login root MySQL ketika tidak ada kata sandi yang diberikan?

Pengguna yang mengalami perilaku ini di versi MySQL/MariaDB yang lebih baru (mis. Debian Stretch, dll) harus menyadari bahwa di tabel mysql.user, ada kolom yang disebut 'plugin'. Jika plugin 'unix_socket' diaktifkan, maka root akan dapat masuk melalui baris perintah tanpa memerlukan kata sandi. Mekanisme masuk lainnya akan dinonaktifkan.

Untuk memeriksa apakah itu masalahnya:

SELECT host, user, password, plugin FROM mysql.user;

yang seharusnya mengembalikan sesuatu seperti ini (dengan unix_socket diaktifkan):

+-----------+------+--------------------------+-------------+
| host      | user | password                 | plugin      |
+-----------+------+--------------------------+-------------+
| localhost | root | <redacted_password_hash> | unix_socket |
+-----------+------+--------------------------+-------------+

Untuk menonaktifkannya dan memerlukan root untuk menggunakan kata sandi:

UPDATE mysql.user SET plugin = '' WHERE user = 'root' AND host = 'localhost';
FLUSH PRIVILEGES;

Catatan: Seperti yang dicatat oleh @marioivangf (dalam komentar) di versi MySQL yang lebih baru (mis. 5.7.x), Anda mungkin perlu menyetel plugin ke 'mysql_native_password' (bukan kosong).

Kemudian mulai ulang:

service mysql restart

Masalah diperbaiki!:

[email protected] ~# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Sumber:https://stackoverflow.com/a/44301734/3363571 Terima kasih banyak kepada @SakuraKinomoto (silakan pilih jawabannya jika menurut Anda ini berguna).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. #1062 - Entri duplikat '' untuk kunci 'unique_id' Saat Mencoba menambahkan KUNCI UNIK (MySQL)

  2. Jatuhkan pengembalian basis data Kesalahan menjatuhkan basis data errno:66 di MySQL

  3. Cara Mendapatkan Catatan dari Hari Ini di MySQL

  4. Masalah koneksi Ruby on Rails

  5. Bagaimana Fungsi LOCATE() Bekerja di MySQL