root
của bạn và tuyên bố này áp dụng cho bất kỳ tài khoản nào, chỉ có thể đã được thêm với quyền truy cập máy chủ cục bộ (được khuyến nghị).
Bạn có thể kiểm tra điều này bằng:
SELECT host FROM mysql.user WHERE User = 'root';
Nếu bạn chỉ thấy kết quả với localhost
và 127.0.0.1
, bạn không thể kết nối từ nguồn bên ngoài. Nếu bạn thấy các địa chỉ IP khác, nhưng không phải là địa chỉ bạn đang kết nối - đó cũng là một dấu hiệu.
Bạn sẽ cần thêm địa chỉ IP của từng hệ thống mà bạn muốn cấp quyền truy cập, sau đó cấp các đặc quyền:
CREATE USER 'root'@'ip_address' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'ip_address';
Nếu bạn thấy %
Vậy thì, có một vấn đề khác hoàn toàn là "bất kỳ nguồn từ xa nào". Tuy nhiên, nếu bạn muốn bất kỳ / tất cả hệ thống kết nối qua root, hãy sử dụng %
ký tự đại diện để cấp quyền truy cập:
CREATE USER 'root'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
Cuối cùng, tải lại các quyền và bạn sẽ có thể có quyền truy cập từ xa:
FLUSH PRIVILEGES;