Единственное время я видел, что что-то вроде этого происходит, - когда у меня есть плохое соединение, или когда кто-то закрывает сокет, который я использую от различного контекста потока.
Разрешено ли вам использовать пользователя root без пароля? Mysqlserver слушает 127.0.0.1 или localhost?
Странно, чтобы увидеть некоторое поведение изменилось, и я не знаю, особенно ли он для снежного леопарда. Я использую тигра и получил ту же ошибку. Я добавил
host: 127.0.0.1
к следующему (конечно, с правильным root / pw / pw / pw mysql)
development:
adapter: mysql
encoding: utf8
reconnect: false
database: blog_development
pool: 5
username: root
password: *********
socket: /tmp/mysqld.sock
, и он работал (на тигре / GEM Mysql-2.8.1 / mysql ver 14.14 распределяет 5.1.30). Надеюсь, это поможет.
Я выполнил шаги в другом потоке SO . Однако команда для моей установки отличается от той, что была там, поскольку я не обновляю существующую базу данных, а устанавливаю новую. Поэтому вместо рекомендованного
$ sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
я набрал следующее
$ sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql/bin/mysql
PS: host: localhost остается как есть, нет необходимости менять его на 127.0.0.1