Tôi đã cài đặt máy chủ MySQL trên máy Ubuntu từ xa. Người rootdùng được định nghĩa trong mysql.userbảng theo cách này:
mysql> SELECT host, user, password FROM user WHERE user = 'root';
+------------------+------+-------------------------------------------+
| host | user | password |
+------------------+------+-------------------------------------------+
| localhost | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| ip-10-48-110-188 | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| 127.0.0.1 | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| ::1 | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
+------------------+------+-------------------------------------------+
Tôi có thể truy cập với người dùng roottừ cùng giao diện dòng lệnh máy từ xa bằng mysqlứng dụng khách tiêu chuẩn . Bây giờ tôi muốn cho phép truy cập root từ mọi máy chủ trên internet , vì vậy tôi đã thử thêm hàng sau (đây là bản sao chính xác của hàng đầu tiên từ kết xuất trước đó, ngoại trừ hostcột):
mysql> SELECT host, user, password FROM user WHERE host = '%';
+------------------+------+-------------------------------------------+
| host | user | password |
+------------------+------+-------------------------------------------+
| % | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
+------------------+------+-------------------------------------------+
Nhưng khách hàng của tôi trên PC cá nhân vẫn tiếp tục nói với tôi (tôi che khuất IP máy chủ):
Lỗi SQL (2003): Không thể kết nối với máy chủ MySQL trên '46 .xxx '(10061)
Tôi không thể biết đó là lỗi xác thực hay lỗi mạng. Trên tường lửa máy chủ, tôi đã bật cổng 3306 / TCP cho 0.0.0.0/0 và điều đó ổn với tôi ...
bind-addresstrong my.cnf