0

mysql にアクセスする C プログラムを開発しています。コードに次の行があります。

sts = connect_to_server(&mysql, "localhost", "my_username",
            "my_password, "my_databasename");

もちろん、実際の値が置き換えられます。私は得る:

MySQL への接続に失敗しました: エラー: ソケット '/tmp/mysql.sock' を介してローカル MySQL サーバーに接続できません (2)

このような他の質問を見たことがありますが、その答えは通常、サーバーがダウンしているというものです。この場合、そうではありません。PHPMyAdmin は問題なくサーバーにアクセスできます。

そして、ソケットファイルをチェックするように言われた他の応答の多く。あります

(/Applications/AMPPS/mysql/tmp/mysql.sock).

これはパスか何かと関係があるのでしょうか?「 」へのパスを追加していないため、パスを/temp/mysql.sock見つけることができませんか?

Unixについてはほとんど知りません。私は 10 年近く OSX を実行していますが、そのレベルまで下がることはほとんどありません。

4

2 に答える 2

0

mysql 構成ファイル (典型的my.cntには の下のどこか/etc) を調べて、必要に応じて の値を調整しsocketます。

/tmp/mysql.sockまたは、次の場所にリンクすることもできます/Applications/AMPPS/mysql/tmp/mysql.sock:

ln -s /Applications/AMPPS/mysql/tmp/mysql.sock /tmp/mysql.sock 
于 2013-02-04T07:11:31.260 に答える
0

my.ini がロードされているのは間違っていると思います。デフォルトでは /etc/my.ini を参照するため、存在する場合は名前を変更するか削除します。MySQL サーバーを再起動します。

于 2013-03-15T07:41:37.303 に答える