MySQL xử lý thông tin đăng nhập cụ thể cho máy chủ lưu trữ mà chúng bắt nguồn. Bạn có thể có mật khẩu khác từ máy chủ của mình với mật khẩu bạn sử dụng trên chính máy chủ và bạn có thể có các bộ quyền hoàn toàn khác nhau được cấp cho cùng một tên người dùng từ các máy chủ gốc khác nhau.
Trên PHPMyadmin, cơ sở dữ liệu đang chạy trên cùng một máy chủ với máy chủ web và do đó tự gọi nó là localhost
, với IP 127.0.0.1
. Máy của bạn mà Workbench được cài đặt phải truy cập MySQL bằng thông tin đăng nhập khác với [email protected]
. Máy chủ yêu cầu bạn cấp quyền truy cập vào tên người dùng của mình từ bất kỳ máy chủ nào bạn định kết nối.
Trong PhpMyAdmin, bạn sẽ cần cấp quyền truy cập vào cơ sở dữ liệu của mình từ máy chủ từ xa:(Xem thêm câu trả lời của Pekka để biết cách cho phép kết nối từ bất kỳ máy chủ)
GRANT ALL PRIVILEGES on dbname.* TO [email protected]_remote_hostname IDENTIFIED BY 'yourpassword';
Để xem tất cả các khoản trợ cấp bạn hiện có trên localhost
để bạn có thể sao chép chúng cho máy chủ từ xa:
SHOW GRANTS FOR [email protected];
Ngoài ra, máy chủ MySQL cần được thiết lập để chấp nhận các kết nối từ xa ngay từ đầu. Điều này không phải lúc nào cũng đúng, đặc biệt là trên các nền tảng lưu trữ web. Trong my.cnf
tệp, skip-networking
dòng phải được xóa hoặc bình luận. Nếu không có skip-networking
dòng, bạn phải nhận xét ngoài dòng:
bind-address = 127.0.0.1
... sau đó khởi động lại MySQL.