Có ba vấn đề ở đây.
1 - Hãy quên đường hầm SSH ngay bây giờ
Bạn không thể liên kết MySQL với nhiều IP cụ thể. bind-address
đầu tiên mệnh đề thứ hai bị ghi đè (do đó, bị bỏ qua). Máy chủ của bạn chỉ lắng nghe 99.99.99.99
.
Lý do tại sao bạn có thể kết nối với -h localhost
nhưng không phải với -h 127.0.0.1
là ở dạng đầu tiên, bạn không thực sự kết nối qua TCP / IP mà thông qua một ổ cắm cục bộ.
Tìm trong my.cnf
của bạn cho một socket
mệnh đề.
Xóa một bind-address
thừa mệnh đề. Bạn có thể muốn sử dụng bind-address=0.0.0.0
, hướng dẫn MySQL daemon lắng nghe tất cả giao diện mạng.
2 - Hãy thiết lập đường hầm SSH của bạn
Nguyên nhân do bạn lỗi ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
không phải là rõ ràng đối với tôi. Tôi nghi ngờ Đường hầm SSH thực sự chỉ được thiết lập khi nó nhận được yêu cầu kết nối (trong trường hợp của bạn là khi bạn chạy mysql
khách hàng). Vì máy chủ của bạn không nghe 127.0.0.1 (xem đoạn trước), nên không thể thiết lập đường hầm SSH, kết nối không thành công và ứng dụng khách của bạn hiểu đó là lỗi mạng.
3 - Tại sao mysql -v -h localhost -P 9989 -u user userdb -p
không thành công
Vui lòng đăng đầu ra của
[chỉnh sửa:vừa thêm ...OR host LIKE 'localhost'
bên dưới, vì điều này có thể có liên quan cho các mục đích gỡ rối]
mysql > SELECT user, host FROM mysql.user WHERE user LIKE 'user' OR host LIKE 'localhost';
(thay thế 'user'
, sau LIKE
, với tên người dùng thực nếu cần)
Kiểm soát truy cập MySQL kiểm tra cả tên người dùng / mật khẩu (user
) và nguồn gốc của kết nối (host
) để xác định người dùng. Có thể bạn chưa tạo người dùng 'user'@'localhost'
.
N.B .:mysql.com không thể truy cập được từ vị trí của tôi vào lúc này, tôi không thể liên kết đến các trang hướng dẫn có liên quan.