Khi tôi đang ở văn phòng, MySQL chạy trên một máy chủ cụ thể được gọi là "mysqldev". Trong tập tin /etc/hosts
tôi đã đặt "mysqldev" để khớp với IP của máy chủ này. Càng xa càng tốt. Tuy nhiên, khi tôi ra khỏi văn phòng bằng máy tính xách tay của mình, tôi muốn sử dụng cơ sở dữ liệu MySQL cục bộ của mình, khi tôi sao chép các cơ sở dữ liệu cụ thể ở đó và không có internet để kết nối với cơ sở dữ liệu văn phòng. Tôi không muốn thay đổi kịch bản của mình, nhưng thay vì cấu hình máy tính xách tay của tôi. Vì vậy, trên máy tính xách tay của tôi, tôi đã thiết lập trong /etc/hosts
:Sử dụng bí danh cho máy chủ lưu trữ cục bộ trong MySQL
127.0.0.1 localhost mysqldev
Tuy nhiên, đối với một số lý do này không hoạt động như mong đợi. Nếu tôi đăng nhập vào MySQL bằng cách sử dụng máy chủ tại localhost, tất cả đều tốt. Nhưng khi tôi cố gắng đăng nhập vào máy chủ mysqldev
(cùng IP như localhost), tôi nhận được lỗi:
Warning: mysqli::mysqli() [mysqli.mysqli]: [2002] Connection refused (trying to connect via tcp://mysqldev:3306)
(đây là sử dụng PHP, nhưng sử dụng dòng lệnh nó là lỗi tương tự)
người sử dụng được thiết lập trên hệ thống có sự cho phép đặc biệt để đăng nhập vào máy chủ này:
CREATE USER 'test'@'mysqldev' IDENTIFIED BY '123';
GRANT ALL PRIVILEGES ON testdb.* TO 'test'@'mysqldev';
Tôi cũng đã tắt tường lửa để kiểm tra và không tạo sự khác biệt. Nó có thể là gì?
Đó là nó, cảm ơn! –