Направляющие: не Может соединиться с локальным сервером MySQL через сокет '/var/run/mysqld/mysqld.sock'

Таким образом, у меня есть приложение Ruby on Rails, которое я пытаюсь запустить (в разработке) на Snow Leopard. У меня есть он работающий над моим компьютером Ubuntu, но теперь я должен разбудить свой набор среды Snow Leopard.

Первоначально, я установил MySQL 2.8.1 Драгоценный камень Ruby и сталкивался с этой проблемой:

uninitialized constant MysqlCompat::MysqlRes

Но благодаря этому учебному руководству я смог разрешить его путем выполнения этой команды и установки предыдущей версии Драгоценного камня:

export ARCHFLAGS="-arch i386 -arch x86_64" ;sudo gem install --no-rdoc --no-ri -v=2.7 mysql -- --with-mysql-dir=/usr/local/mysql --with-mysql-config=/usr/local/mysql/bin/mysql_config

Теперь, когда я решил тот вопрос, я сталкиваюсь с другой ошибкой:

Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

Это происходит, когда я пытаюсь работать rake db:migrate а также когда сервер работает. Как я могу решить этот вопрос?

4
задан 30.01.2010, 21:07

2 ответа

Причина Вы сталкиваетесь с этой ошибкой, состоит в том потому что database.yml файл конфигурации Вашего приложения направляющих указывает местоположение сокета.

development:
  adapter: mysql
  encoding: utf8
  reconnect: false
  database: myapp_development
  pool: 5
  username: root
  password:
  socket: /var/run/mysqld/mysqld.sock

Так как Ваш Сокет MySQL Ubuntu находится в другом месте, чем Ваш Сокет MySQL Snow Leopard, необходимо будет создать символьную ссылку, если Вы хотите смочь совместно использовать тот же файл конфигурации среди различных компьютеров.

sudo ln -s /tmp/mysql.sock /var/run/mysqld/mysqld.sock

Примечание: Я должен был создать mysqld каталог, прежде чем я мог поместить символьную ссылку в него.

5
ответ дан 07.12.2019, 20:28

Проверьте/tmp/mysql.sock.

0
ответ дан 07.12.2019, 20:28

Теги

Похожие вопросы