Quyền truy cập bị từ chối đối với người dùng root@localhost phpmyadmin

Ok, bây giờ, nếu bạn làm theo hướng dẫn của Rael, bạn sẽ có thể đăng nhập vào

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
6, nhưng, ít nhất đối với tôi, tôi không thể tạo cơ sở dữ liệu mới vì một thông báo màu đỏ xuất hiện.
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
7 (hoặc một số tin nhắn tương tự)

Tìm hiểu cách khắc phục sự cố và xem một loạt giải pháp nếu cách khắc phục được đề xuất không hoạt động, trong bài viết này

Mục lục

  • Lỗi truy cập bị từ chối
  • Giải pháp 1. Sudo sau đó Thay đổi mật khẩu
  • Giải pháp 2. chỉnh sửa của tôi. tập tin cnf
  • Phần kết luận

Lỗi truy cập bị từ chối

Khi bạn cố gắng kết nối với cơ sở dữ liệu MySQL trên máy tính của mình (được gọi là “localhost”), bạn có thể gặp lỗi này

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

Bạn có thể nhận được một mã lỗi ở phía trước của nó

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

Bạn cũng có thể gặp lỗi với "sử dụng mật khẩu không"

Access denied for user 'root'@'localhost' (using password: NO)

Bạn sẽ thấy điều này nếu bạn đăng nhập vào MySQL bằng dòng lệnh

mysql -u root -p

Bạn cũng có thể thấy điều này nếu bạn đăng nhập vào MySQL bằng IDE chẳng hạn như MySQL Workbench. Hoặc ngay cả khi bạn sử dụng phpMyAdmin

Điều đó có nghĩa là gì?

Có một vài giải pháp cho vấn đề này, mà tôi đã trình bày chi tiết bên dưới. Hãy thử một cái, và nếu nó không hoạt động, hãy thử một cái khác

Cũng là một mẹo để đăng nhập. không nhập mật khẩu của bạn vào chính dòng lệnh, vì mật khẩu này sẽ được lưu trong lịch sử lệnh của bạn. Sử dụng tùy chọn -p, như đã đề cập ở trên, sau đó bạn sẽ được nhắc nhập mật khẩu

 

Giải pháp 1. Sudo sau đó Thay đổi mật khẩu

Nếu bạn gặp lỗi “truy cập bị từ chối”, một cách để giải quyết là sử dụng sudo để đăng nhập vào mysql và thay đổi mật khẩu gốc

Bước 1. Mở dòng lệnh trên hệ thống của bạn

Bước 2. Mở mysql bằng lệnh sudo

sudo mysql

Bước 3. Nhập mật khẩu cho tài khoản này

Bước 4. Thay đổi auth_plugin thành mysql_native_password và mật khẩu cho tài khoản root, trong một lệnh duy nhất

ALTER USER 'root'@'localhost'
IDENTIFIED WITH mysql_native_password BY 'your_new_password';

Thay thế từ your_new_password bằng một mật khẩu an toàn mới mà bạn muốn sử dụng cho tài khoản root

Phương thức mysql_native_password là phương thức xác thực truyền thống và sẽ cho phép bạn đăng nhập

Bước 5. Xóa các đặc quyền, yêu cầu máy chủ làm mới các bảng cấp và áp dụng các thay đổi của bạn, bằng lệnh này

FLUSH PRIVILEGES;

Bước 6. Bạn có thể xác nhận rằng phương thức xác thực mới hoặc plugin được sử dụng bằng cách chọn từ mysql. bảng người dùng

SELECT user, plugin
FROM mysql.user

Kết quả

userpluginrootmysql_native_password

Bước 7. Thoát khỏi bảng điều khiển bằng cách nhấn CTRL + D hoặc gõ thoát

________số 8

Bước 8. Đăng nhập vào mysql bằng tài khoản root và mật khẩu mới bạn đã đặt, mật khẩu này sẽ hoạt động

mysql -u root -p

Bây giờ bạn đã đăng nhập vào tài khoản root trong mysql

 

Giải pháp 2. chỉnh sửa của tôi. tập tin cnf

Nếu giải pháp trên không hoạt động, bạn có thể cần chỉnh sửa mysql. cnf để cho phép thay đổi tài khoản root

Bước 1. mở của tôi. tập tin cnf. Điều này có thể được lưu trữ trong

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

Nếu bạn không chắc nó ở đâu, hãy tìm kiếm thư mục cài đặt MySQL của bạn (e. g. trên Windows hoặc Mac) cho tệp

Nếu bạn không có tài khoản của tôi. cnf (MacOS không bao gồm tệp này theo mặc định). Bạn có thể tạo một cái trong thư mục /etc nếu muốn

Bước 2. Thêm từ bỏ qua cấp-bảng dưới từ [mysqld]. Tập tin của bạn có thể trông như thế này

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

Bước 3. Khởi động lại máy chủ MySQL

Bước 4. Đăng nhập vào tài khoản root

mysql -u root -p

Bước 5. Xóa các đặc quyền, yêu cầu máy chủ làm mới các bảng cấp và áp dụng các thay đổi của bạn, bằng lệnh này

FLUSH PRIVILEGES;

Bước 6. Đặt mật khẩu mới cho tài khoản

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

Thay thế từ your_new_password bằng một mật khẩu an toàn mới mà bạn muốn sử dụng cho tài khoản root

Bước 7. mở của tôi. cnf mà bạn đã mở ở bước 1 và xóa dòng về bỏ qua-cấp-bảng và lưu tệp

Bước 8. Khởi động lại máy chủ MySQL một lần nữa

Bước 9. Đăng nhập lại tài khoản root

mysql -u root -p

Bây giờ bạn có thể đăng nhập thành công bằng mật khẩu mới của mình và không gặp lỗi

 

Phần kết luận

Một trong hai giải pháp này hy vọng sẽ giải quyết được vấn đề cho bạn và bạn sẽ không còn gặp phải lỗi “Quyền truy cập bị từ chối đối với người dùng ‘root’@’localhost'”

Tại sao localhost phpMyAdmin của tôi không mở?

Bạn có thể nhận được thông báo lỗi cho biết rằng phpMyAdmin cần phiên bản PHP trong một phạm vi cụ thể. Điều này có thể xảy ra nếu bạn đang chạy phiên bản PHP lỗi thời hoặc bản cập nhật mới không tương thích với phiên bản MAMP của bạn . Trong trường hợp này, bạn sẽ cần thay đổi phiên bản PHP của ứng dụng MAMP của mình.

Làm cách nào để sửa lỗi 1045 trong MySQL?

Lỗi MySQL 1045 Truy cập bị từ chối kích hoạt trong các trường hợp sau. .
Sửa chữa. Kiểm tra kỹ xem bạn có đang cố kết nối với máy chủ cục bộ hay không hoặc đảm bảo chỉ định máy chủ và cổng nếu đó không phải là máy chủ cục bộ
Sửa chữa. Bạn có thể kiểm tra xem người dùng máy chủ/máy chủ MySQL nào cho phép kết nối với truy vấn sau
Sửa chữa. Kiểm tra và/hoặc đặt lại mật khẩu