1

これは最近の問題です... MySQL は機能していましたが、数日前に何かを行ったに違いありません。MySQL を削除し、.dmg ファイルを使用して再インストールを試みました。mysql.sock ファイルが作成されず、次のエラー メッセージが表示されます。

Hristo$ mysql
Enter password: 
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (2)

また、Apache を停止してインストールしようとしましたが、Apache でエラーが発生しました...これが良いのか悪いのかわかりません。

Hristo$ sudo apachectl stop
launchctl: Error unloading: org.apache.httpd

MacPorts のインストールも試しましたが、ソケット ファイルはまだ作成されませんでした。どうすればいいのかわからず、Snow Leopard を再インストールして最初からやり直したくありません :/

32ビット版もインストールしてみましたが同じでした。運がない。

最後に...ソースのインストールを試みましたが、構成ステップに到達すると、次のエラーが発生します。

-bash: ./configure: No such file or directory

ファイルは「mysql-5.1.47-osx10.6-x86_64.tar.gz」なので、ソース インストールに適切なファイルだと思います。はい、64 ビット システムを使用しています。もうどうしたらいいのかわからない。

何か案は?

ありがとう、フリスト

編集: これは、.dmg パッケージを使用して MySQL をインストールした後に得られるものです...意味がよくわかりません。では、MySQL は実行されていますか? ないと思いますか?

Hristo$ ps auxw | grep mysql Hristo 1599 0.2 0.0 2425520 96 s000 R+ 3:39AM 0:00.00 grep mysql

4

3 に答える 3

4

最終的にそれを理解しました...私はほとんどすべてを試しましたが、それはすべてMySQLのすべてのインスタンスを削除することになり、すべてを削除するときに何かが欠けていました。MySQLを完全にアンインストールするには:

sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm /etc/my.cnf

また、/etc/hostconfigファイルから「<code> MYSQLCOM=-YES-」という行を削除する必要があります。私の問題は、/etc/my.cnfファイルを削除しなかったことです。このファイルを削除しないと、明らかにソケットの問題が発生します。それが原因でした。次に、MySQL Webサイトのファイルから通常のインストールを実行したところ.dmg、すべてが機能します:)

皆さんの提案と時間をありがとう!

于 2010-06-13T09:42:09.660 に答える
1

確認事項:

  1. mysql も実行されていますか? ps auxw | grep mysql. 何も表示されない場合は、実行されていません。これは、ソケットの欠如を説明しています
  2. Apache が実行されていない場合は、停止しようとしてエラーがスローされます。ps auxw|grep httpdApache が実行されている場合、多数の httpd 子プロセスが表示されます。起動できない場合は、error_log にその理由が説明されます。この場所は、httpd.conf ファイルから取得できます。
  3. ダウンロードした mysql .tar.gz のファイル名は、実際にはコンパイル済みのバイナリ バージョンであることを示唆しています。そのため、「構成」スクリプトはありません。mysql.com には、MacOS 固有のソース ファイルはありません。ここには、Linux 以外のシステム用の一般的な.tar.gz があります(ドロップダウン ボックスで [ソース コード] を選択します)。
于 2010-06-13T05:54:47.193 に答える
1

ソケットの場所は my.cnf で定義されています

接続するには、mysql クライアントとサーバーの両方が同じソケット パスを使用する必要があります。mysql クライアントとサーバーの両方が同じ構成ファイルを使用していることを確認するか、同じソケットを使用するように構成を変更してください。

which mysql正しい mysql バイナリを使用していることを確認するために行うこともできます。

于 2010-06-13T00:45:07.083 に答える