Tôi muốn kết nối với máy chủ MySQL từ xa (với rake db:create
), nhưng Rails luôn coi đó là địa phương. database.yml trong đó sử dụng các cấu hình sau:Sự cố khi kết nối với máy chủ MySQL từ xa bằng Rails
defaults: &defaults
encoding: unicode
adapter: mysql
username: <username>
password: *************
port: 3306
host: <remote ip address>
development:
<<: *defaults
database: <db name>
test: &test
<<: *defaults
database: <db name>
production:
<<: *defaults
database: <db name>
Và luôn luôn nhận được lỗi này khi cố gắng bất cứ điều gì trên cơ sở dữ liệu:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Các cấu hình làm việc miễn là tôi sử dụng cơ sở dữ liệu địa phương (tức là không phần máy chủ/cổng). Kết nối với máy chủ MySQL từ xa hoạt động tốt với các chi tiết đã cho.
Bất kỳ ý tưởng nào về những gì đang xảy ra?
Chỉnh sửa: Sự cố chỉ xảy ra với rake:db:create
, các tác vụ khác - Thông báo lỗi thực sự gây hiểu nhầm.
bạn có thể dán toàn bộ database.yml không? và env bạn sử dụng? Tôi cho rằng bạn định nghĩa một cấu hình socket ở đâu đó. – shingara
(xem chỉnh sửa, có vẻ là một thông báo lỗi sai lạ) –
Kiểm tra cài đặt tường lửa/bộ định tuyến của bạn, có vẻ như bạn không có kết nối TCP hoặc cổng bị chặn. –