8

約 1 週間前に Mac OS 10.6 に MySQL をインストールしました。それはpython MySQLdbと統合され、データベースに接続するためにSequel Proも入手しました。ただし、php はサーバーにアクセスしません。php.ini ファイルを /etc/ に追加して、Sequel Pro が使用していたのと同じ sock (/tmp/mysql.sock) に向けた後でも。

しかし、今ではローカルサーバーにまったくアクセスできません。私が知る限り、/tmp/ や他の場所ではなく、私のコンピューターのどこにも mysql.sock ファイルはありません。

ターミナルから mysql サーバーを起動できますが、1 分後に自動的にログアウトされます。

110425 17:36:18 mysqld_safe Logging to '/usr/local/mysql/data/dn0a208bf7.sunet.err'.
110425 17:36:18 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
110425 17:37:58 mysqld_safe mysqld from pid file /usr/local/mysql/data/dn0a208bf7.sunet.pid ended

コマンドラインから「mysql」を呼び出そうとすると(今日は完全に機能していました):

ERROR 2002 (HY000): Can\'t connect to local MySQL server through socket '/tmp/mysql.sock' (2)

もちろん、PHP エラーも同様です。

PHP Warning:  mysql_real_escape_string(): [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock)

また、私の mysql インストール ディレクトリ (/usr/local/mysql) には "my.cnf" ファイルがありません。XAMPP に付属する mysql インストール用の my.cnf ファイルがあります。それらには「/tmp/mysql.sock」としてリストされているデフォルトのソケットもありますが、手動で変更する必要がありました。

何が起こっているのですか?php.ini ファイルを変更すると、Sequel Pro にも変更が加えられるのはなぜですか?

4

7 に答える 7

20

まず、homebrew を使用してサードパーティのライブラリまたはツールを Mac にインストールすることをお勧めします。見てください:リンク

それ以外の場合は、Mac の mysql ソケットの場所を検索して、/tmp にシンボリック リンクすることができます。

端末で次のようなものを試してください:

locate mysql | grep sock

次のようなものが得られます:

/the/path/to/mysql.sock

次に、次のことを行います。

ln -s /the/path/to/mysql.sock /tmp/mysql.sock

これはうまくいくはずです。

また、php.ini ファイルを編集して、mysql ソケットの正しいパスを設定することもできます。

この助けを願っています。

于 2011-04-26T02:59:08.073 に答える
5

同様のエラーが発生していて、ここに行き着きました。OSX 10.9.5 を使用しています。これで私の問題は解決しました(誰かに役立つことを願っています)。

1) sudo mkdir /var/mysql

2) sudo ln -s /private/tmp/mysql.sock /var/mysql/mysql.sock

詳細情報: http://glidingphenomena.blogspot.com.br/2010/03/fixing-warning-mysqlconnect-cant.html

ありがとう!

于 2014-10-02T18:04:36.627 に答える
4

XAMPPの新規インストールでもこの​​エラーが発生しました。

コマンドラインに慣れていない人のために、別の方法があります。

上記のアドバイス (ありがとう) に基づいて、古い標準の "Easy Find" を使用して、my.cnf の最新バージョンを見つけました。エディターでファイルを開くと、ソケットファイルが次の場所を指していることがわかりました。

ソケット = /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock

Navicat の Advanced properties/Use socket file を上記のパスに更新し、bingo しました。

これが誰かに役立つことを願っています。

于 2015-01-19T15:41:04.370 に答える
4

わかりました、私はこの同じ問題に数時間苦労しました。OSX 10.7.2 を搭載した iMac に osx 10.6 用の MySql 5.5.20 (64 ビット) の dmg ファイルをインストールしましたが、/tmp/mysql.sock がありませんでした。

答えは、dmg ファイルに付属の MySQLStartupItem.pkg をインストールして、システムを再起動するだけであることが判明しました。これにより、起動時にデーモンが起動します(これはオプションであると思っていました)。

魔法のように、私の /tmp/mysql.sock ファイルが表示され、すべてが順調です!

于 2012-01-19T01:38:14.673 に答える
0

自作で mysql をインストールした場合は、simplebrew services restart mysqlが役立つ場合があります。

于 2020-01-27T16:41:10.023 に答える