MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Perbaiki:Akses ditolak untuk pengguna 'root'@'localhost' di MariaDB

Jika Anda mendapatkan pesan kesalahan yang memberi tahu Anda bahwa akses ditolak untuk root pengguna di MariaDB, artikel ini dapat membantu.

Kesalahan

Saya mencoba mengimpor informasi zona waktu sistem saya ke MariaDB dengan perintah berikut:

mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

Tapi itu menghasilkan kesalahan berikut:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

Penyebabnya

Setelah menyelidiki ini, saya menyadari bahwa root pengguna belum menyetel sandinya.

Saat saya menjalankan kueri berikut:

SELECT user, password 
FROM user
WHERE User = 'root';

Saya mendapatkan hasil berikut:

+-------------+----------+
| User        | Password |
+-------------+----------+
| root        | invalid  |
+-------------+----------+

Dokumentasi MariaDB menyatakan sebagai berikut:

Namun, beberapa pengguna mungkin ingin masuk sebagai root MariaDB tanpa menggunakan sudo. Oleh karena itu metode otentikasi lama — kata sandi MariaDB konvensional — masih tersedia. Secara default dinonaktifkan ("tidak valid" bukan hash sandi yang valid), tetapi sandi dapat disetel dengan SET PASSWORD biasa penyataan. Dan masih mempertahankan akses tanpa kata sandi melalui Sudo.

Jadi seperti itulah jawaban kami.

Solusinya

Sesuai paragraf di atas, saya perlu mengatur kata sandi untuk root pengguna:

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

Menjalankan itu (dengan kata sandi yang berbeda) berhasil.

Jadi jika mendapatkan kesalahan di atas, mungkin ini akan membantu.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mengotomatiskan Cluster Galera Menggunakan ClusterControl CLI

  2. MariaDB JSON_MERGE() Dijelaskan

  3. Bagaimana WEEKDAY() Bekerja di MariaDB

  4. 6 Cara Memeriksa Versi MariaDB Anda

  5. MariaDB CONNECTION_ID() Dijelaskan