Ruby on Rails 3 Не удается подключиться к локальному серверу MySQL через сокет /tmp/mysql.sock в OSX - PullRequest
81 голосов
/ 31 марта 2011

У меня есть стандартная среда Rails3, RVM 1.2.9, Rails 3.0.5, Ruby 1.9.2p180, MySQL2 Gem 0.2.7, mysql-5.5.10-osx10.6-x86_64

Ошибка при запуске rake db:migrate для создания базы данных:

Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

config / database.yml имеет

development:
  adapter: mysql2
  host: localhost
  username: root
  password: xxxx
  database: xxxx

уверен, что это что-то простое, что мне не хватает.

Ответы [ 14 ]

0 голосов
/ 16 декабря 2017

На моей машине остановлен сервис mysqld, поэтому он вызывал ту же проблему.

1: - Перейти к терминалу и набрать

sudo service mysqld restart

Это перезапустит службу mysqld и создаст новый файл sock в нужном месте.

0 голосов
/ 22 марта 2017

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

Ответ: $ sudo service mysql start

0 голосов
/ 15 июня 2016

Если вы используете MYSQL через XAMPP:

  1. Открыть файл конфигурации XAMPP mysql (в OSX):

    / Applications / XAMPP / и т.д. / my.cnf

  2. Скопируйте путь сокета:

    socket = /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

  3. Открыть файл конфигурации базы данных проекта rails: MyProject / конфигурации / database.yml

  4. Добавить конфигурацию сокета в конфигурацию базы данных разработки:

->

development:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: difiuri_falcioni
  pool: 5
  username: root
  password:
  host: localhost
  socket: /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
  1. Перезапустить сервер рельсов

Наслаждайтесь:)

0 голосов
/ 18 августа 2015

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

Добавив 'RAILS_ENV = production', чтобы дать команду

bundle exec rake redmine:plugins:migrate RAILS_ENV=production

, она сработала

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...