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

Quyền truy cập bị Từ chối đối với Người dùng 'root' @ 'localhost' (sử dụng mật khẩu:CÓ) - Không có Đặc quyền?

Nếu bạn gặp vấn đề tương tự trong MySql 5.7. +:

Access denied for user 'root'@'localhost'

đó là vì MySql 5.7 theo mặc định cho phép kết nối với socket, có nghĩa là bạn chỉ cần kết nối với sudo mysql . Nếu bạn chạy sql:

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

thì bạn sẽ thấy nó:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *497C3D7B50479A812B89CD12EC3EDA6C0CB686F0 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)

Để cho phép kết nối với root và mật khẩu, sau đó cập nhật các giá trị trong bảng bằng lệnh:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Current-Root-Password';
FLUSH PRIVILEGES;

Sau đó chạy lại lệnh select và bạn sẽ thấy nó đã thay đổi:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *2F2377C1BC54BE827DC8A4EE051CBD57490FB8C6 | mysql_native_password | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *497C3D7B50479A812B89CD12EC3EDA6C0CB686F0 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)

Và đó là nó. Bạn có thể chạy quá trình này sau khi chạy và hoàn tất sudo mysql_secure_installation lệnh.

Đối với mariadb, hãy sử dụng

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

để đặt mật khẩu. Xem thêm tại https://mariadb.com/kb/en/set- mật khẩu /



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL có tự động lập chỉ mục các cột khóa ngoại không?

  2. Mysql:Chọn các hàng từ một bảng không nằm trong bảng khác

  3. Cách thay đổi múi giờ máy chủ MySQL

  4. Cân bằng tải PostgreSQL &Cải tiến ProxySQL - ClusterControl 1.5

  5. Các phương pháp miễn phí để sửa chữa cơ sở dữ liệu MySQL bị hỏng