10

私は一日中これに取り組んでおり、助けが必要です。

github から作業している RoR プロジェクトの mysql データベースをセットアップしようとしています。

ターミナルでデータベースをセットアップしようとすると、次のエラーが発生します。

Eric-MacBook:~ eric$ cd ~/review_rocket
Eric-MacBook:review_rocket eric$ rake db:setup
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'

SOに関する20の質問に目を通しましたが、問題を解決するのに役立つものはありませんでした.

データベースが稼働中で、database.yml もセットアップされています。

私は今、少し気が狂いそうです...お願い...助けて...手遅れになる前に。

更新: インストールした gem を確認したところ、何らかの理由で表示されていmysql2ます (以下を参照)。

Eric-Reas-MacBook:~ ericrea$ gem list

*** LOCAL GEMS ***

multi_json (1.8.2)
mysql2 (0.3.13)
net-sftp (2.1.2) 

それは私には少し奇妙に思えます...

更新:これが私のdatabase.ymlのようです:

common: &common
  adapter: mysql2
  encoding: utf8
  reconnect: false
  pool: 5
  user_name: xxxx
  password: xxxx
  socket: /var/run/mysqld/mysqld.sock

development:
  <<: *common
  database: dev_review_rocket

# Warning: The database defined as "money_tracker_test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *common
  database: test_review_rocket

production:
  <<: *common
  database: prod_review_rocket

更新: 自作で mysql を再インストールしようとすると、奇妙なエラーが発生するようになりました (以下を参照)。

$ brew install mysql
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/mysql-5.6.1
Already downloaded: /Library/Caches/Homebrew/mysql-5.6.13.mountain_lion.bottle.1.tar.gz
==> Pouring mysql-5.6.13.mountain_lion.bottle.1.tar.gz
==> /usr/local/Cellar/mysql/5.6.13/bin/mysql_install_db --verbose --user=ericrea
2013-10-22 18:32:41 56901 [Note] InnoDB: FTS optimize thread exiting.
2013-10-22 18:32:41 56901 [Note] InnoDB: Starting shutdown...
2013-10-22 18:32:42 56901 [Note] InnoDB: Shutdown completed; log sequence number 1626067
2013-10-22 18:32:42 56901 [Note] /usr/local/Cellar/mysql/5.6.13/bin/mysqld: Shutdown complete

Warning: mysql post_install failed. Rerun with `brew postinstall mysql`.
==> Caveats
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.

To connect:
    mysql -uroot

To have launchd start mysql at login:
    ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Then to load mysql now:
    launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Or, if you don't want/need launchctl, you can just run:
    mysql.server start
==> Summary
  /usr/local/Cellar/mysql/5.6.13: 9382 files, 354M
Eric-Reas-MacBook:~ ericrea$ brew postinstall mysql
==> /usr/local/Cellar/mysql/5.6.13/bin/mysql_install_db --verbose --user=ericrea
2013-10-22 18:33:22 57135 [Note] InnoDB: FTS optimize thread exiting.
2013-10-22 18:33:22 57135 [Note] InnoDB: Starting shutdown...
2013-10-22 18:33:23 57135 [Note] InnoDB: Shutdown completed; log sequence number 1626087
2013-10-22 18:33:23 57135 [Note] /usr/local/Cellar/mysql/5.6.13/bin/mysqld: Shutdown complete


READ THIS: https://github.com/mxcl/homebrew/wiki/troubleshooting

These open issues may also help:
    https://github.com/mxcl/homebrew/issues/22021
    https://github.com/mxcl/homebrew/pull/22480
4

6 に答える 6

13

mysqlサーバーを起動する必要があります

mysql.server start

そして、私はあなたが探しているかもしれないと思います

rake db:migrate
于 2013-10-23T00:14:53.660 に答える
3

このエラーを解決するには、まずソケット ファイルを見つけ、ターミナルで次のコマンドを実行します。

mysqladmin variables | grep socket

私にとって、これは次のようになります。

| socket              | /var/run/mysqld/mysqld.sock

次に、config/database.yml に次の行を追加します。

development:
adapter: mysql2
host: localhost
username: root
password: xxxx
database: xxxx
socket: /var/run/mysqld/mysqld.sock

これでこの問題は解決します。

于 2015-09-29T06:46:03.557 に答える
2

MySQL の my.cnf ファイルを探してみてください。典型的な Ubuntu サーバーでは、/etc/mysql/my.cnf にあります。

ファイルを開き、ソケット変数、つまり socket = /var/run/mysqld/mysqld.sock であることを確認します

アプリの database.yml のソケット値に対応します

于 2015-03-12T15:41:11.037 に答える
1

単に実行するだけ

mysql server.restart

サーバーを再起動します。これにより、この問題が修正されました。

于 2014-05-26T02:09:32.523 に答える
0

mysqlとPHPアプリで同様の問題(Brewを使用し、PIDファイルの問題も発生)がありました。OSX を Mavericks に更新した後に発生しました。おそらく、システムの更新によって設定が上書きされたのでしょう。奇妙なことに、/etc/php.ini を再作成し、/tmp/mysql.sock を指す適切なソケット アドレスを設定すると、mysql に関するすべてが再び機能し始めました。たぶん、誰かがこれをグーグルで検索するのに役立つでしょう。

于 2013-10-23T16:45:47.630 に答える