2011-11-17 12 views
1

私はRoR(バージョン3.1.1)を学ぶ初心者です。私はデータベース用にmysqlを使いたかったのです。 コードrails new hello -d mysqlを使用して新しいレールプロジェクトを作成し、データベーステーブルを作成しました。 configフォルダ内のdatabase.ymlファイルを確認し、データベースアクセス用のパスワードを追加しました。 しかし、私はrake db:migrateを実行しようとすると、私は次のエラーを取得する: rake aborted! syntax error on line 18, col 2: 'socket: /tmp/mysqld.sock'tmpフォルダにmysqld.sockがありません

は、端末を使用して、tmpフォルダを確認したが何のmysqld.sockファイルがありませんでした。

私はどのようにmysqlを設定しますか?

私は通常mysqld.sockファイルが/var/run/mysqld/であるMAC OS X 10.6.8

答えて

0

でそれを使用しています。

あなたは、単にシンボリックリンクを作成することができます。

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

+0

いいえ、それはあなたのmysqlのインストール/ディストリビューションなどに依存します - 私にその場所をWindowsのボックスに見せてください! –

+0

彼は彼が "ターミナルを使ってtmpフォルダをチェックした"と言ったので、おそらく窓の箱ではないでしょう。しかし、より一般的な答え+1。 – AndreKR

+0

あなたとAndreKRは同意します - あなたが拾ったポイントを作ろうとしていました。 (ユーザー名が削除されたため、3回後に編集) –

1

はあなたな/etc/my.cnfをチェックします(わからない、それは窓の上にある場合)と「ソケット」設定行を探してください - これは教えてくれますあなたはmysql unixローカルソケットです。

アップヘッドとして
grep sock /etc/my.cnf 
socket   = /tmp/mysql.sock 
+0

私はetcフォルダ内のmy.cnfが表示されません。端末を使ってナビゲートし、 'ls -la'を使ってフォルダの内容を確認します。 – user1050982

+0

デフォルトのコンパイル済み値を使用している可能性があります。どのようにmysqlをインストールしましたか? –

+0

私はここから[link](http://mysql.phphosts.org/Downloads/MySQL-5.1/mysql-5.1.59-osx10.6-x86_64.dmg)からmysqlをダウンロードしてインストールしました。それはmysqlパッケージ、起動オプションと環境設定パネルの設定を持っていた。 – user1050982

1

が、これはソケットの代わりにTCPを使用してクライアントを接続するようになります代わりにlocalhost

127.0.0.1を使用してみてください。

+0

本当のlocahostは多くのものとして設定できます。 ping localhost localhost(127.0.0.1)56(84)バイトのデータ localhostからの64バイト(127.0.0.1):icmp_req = 1 ttl = 64 time = 0.027 ms –

+0

データベースはTCP接続権に依存しません – user1050982

+0

@AdrianCornish ...あなたの '/ etc/hosts'ファイルから' 127.0.0.1 localhost'を削除して、何をしなかったのですか? 'localhost'は127.0.0.1へのエイリアスです –

関連する問題