MariaDB
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> MariaDB

Khắc phục:Quyền truy cập bị từ chối đối với người dùng ‘root’ @ ’localhost’ trong MariaDB

Nếu bạn gặp lỗi cho bạn biết rằng quyền truy cập bị từ chối đối với root người dùng trong MariaDB, bài viết này có thể hữu ích.

Lỗi

Tôi đang cố gắng nhập thông tin múi giờ của hệ thống vào MariaDB bằng lệnh sau:

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

Nhưng nó dẫn đến lỗi sau:

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

Nguyên nhân

Sau khi điều tra điều này, tôi nhận ra rằng root người dùng chưa đặt mật khẩu.

Khi tôi chạy truy vấn sau:

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

Tôi nhận được kết quả sau:

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

Tài liệu MariaDB nêu rõ những điều sau:

Tuy nhiên, một số người dùng có thể muốn đăng nhập với quyền root MariaDB mà không cần sử dụng sudo. Do đó, phương pháp xác thực cũ - mật khẩu MariaDB thông thường - vẫn có sẵn. Theo mặc định, nó bị tắt (“không hợp lệ” không phải là băm mật khẩu hợp lệ), nhưng người ta có thể đặt mật khẩu bằng SET PASSWORD thông thường tuyên bố. Và vẫn giữ được quyền truy cập không cần mật khẩu thông qua sudo.

Vì vậy, đó giống như câu trả lời của chúng tôi.

Giải pháp

Theo đoạn trên, tôi cần đặt mật khẩu cho root người dùng:

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

Chạy nó (với một mật khẩu khác) đã thực hiện thủ thuật.

Vì vậy, nếu gặp lỗi trên, có lẽ điều này sẽ hữu ích.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách STR_TO_DATE () hoạt động trong MariaDB

  2. Cách REPLACE () hoạt động trong MariaDB

  3. Khắc phục:Quyền truy cập bị từ chối đối với người dùng ‘root’ @ ’localhost’ trong MariaDB

  4. Cách cài đặt và cấu hình MaxScale cho MariaDB

  5. DROP BẢNG NẾU TỒN TẠI trong MariaDB