Có thể là một biện pháp phòng ngừa an ninh. Bạn có thể thử thêm tài khoản quản trị viên mới:
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> WITH GRANT OPTION;
Mặc dù như Pascal và những người khác đã lưu ý rằng không phải là một ý tưởng tuyệt vời khi để một người dùng có loại quyền truy cập này mở vào bất kỳ IP nào. Nếu bạn cần một người dùng quản trị, hãy sử dụng root và để nó trên localhost. Đối với bất kỳ hành động nào khác, hãy chỉ định chính xác các đặc quyền bạn cần và giới hạn khả năng truy cập của người dùng như Pascal đã đề xuất bên dưới.
Chỉnh sửa:
Từ Câu hỏi thường gặp về MySQL:
Nếu bạn không thể tìm ra lý do tại sao bạn bị từ chối getAccess, hãy xóa khỏi tất cả các mục có thể sử dụng có Giá trị máy chủ chứa ký tự đại diện (entriesthat chứa ký tự '%' hoặc '_'). Một lỗi rất phổ biến là chèn newentry với Host ='%' andUser ='some_user', nghĩ rằng điều này cho phép bạn chỉ định localhost để kết nối từ cùng một máy. Lý do mà điều này không hoạt động là các đặc quyền mặc định bao gồm tính năng thử lại với Host ='localhost' vàUser =''. Vì mục nhập đó có Giá trị máy chủ lưu trữ 'localhost' cụ thể hơn '%', nó được sử dụng tham chiếu cho mục nhập mới khi kết nối từ máy chủ cục bộ! Quy trình chính xác là chèn mục nhập thứ hai với Host ='localhost' andUser ='some_user', hoặc xóa nội dung bằng Host ='localhost' andUser =''. Sau khi xóa mục nhập, hãy nhớ đưa ra một câu lệnh FLUSH PRIVILEGES để tải lại các bảng tài trợ. Xem thêm Phần 5.4.4, “AccessControl, Giai đoạn 1:Kết nối”.