Tôi đã cài đặt máy chủ MySQL trên máy Ubuntu từ xa. Người root
dùng được định nghĩa trong mysql.user
bả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 root
từ 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ừ host
cộ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-address
trong my.cnf