Я хотел подключиться к удаленному хосту MySQL (с rake db:create
), но Rails всегда считает его локальным. database.yml, который использует следующий конфиг:Проблемы с удаленным хостом MySQL с 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>
И всегда получаю эту ошибку при попытке что-либо в базе данных:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Конфигурационный работает до тех пор, как я использую локальную базу данных (т.е. без часть хоста/порта). Подключение к удаленному серверу MySQL отлично работает с данными.
Любые идеи о том, что происходит не так?
Edit: Проблема возникает только с rake:db:create
, другие задачи работы - сообщение об ошибке было очень плохо в заблуждение.
Вы можете вставить полную базу данных.yml? и который вы используете? Предположим, вы где-то определяете конфигурацию сокета. – shingara
(см. Изменение, кажется странным неправильным сообщением об ошибке) –
Проверьте настройки брандмауэра/маршрутизатора, похоже, что у вас нет TCP-соединения вообще или порт заблокирован. –