0

Apache を使用して Django ベースの Web アプリケーションを実行しています。Python および Linux シェルから mysql に接続できますが、サーバーを実行すると次のエラーが発生します。私はどこで間違っていますか?

OperationalError at /

(2002, "Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)")

Request Method:     GET
Request URL:    http://dev.ls.co.uk/
Django Version:     1.3
Exception Type:     OperationalError
Exception Value:    

(2002, "Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'   (2)")

Exception Location:     build/bdist.linux-x86_64/egg/MySQLdb/connections.py in __init__, line 187
Python Executable:  /usr/bin/python
Python Version:     2.4.3
4

2 に答える 2

1

mysql.comのこのスレッドによると:

ここでは、次の 2 つの問題が発生する可能性があります。

  1. mysql がフォルダーの所有者であるか、または
  2. /path/whatever.sock が存在しません。

最初に、apache がどのユーザーとして実行されるかを知っておく必要がtopあります。次に、id thatusernameコマンドを使用して、それがどのグループに属しているかを把握します。

次に、この種の問題のデバッグに関する記事を読むことができます。

于 2012-10-24T12:13:16.280 に答える
1

ソケットファイルが存在しません。mysqld.service を再起動する必要があります。これを試してください:

systemctl restart mysqld.service

別のモードで mysql を起動しましたか? その場合、mysql のプロセスを強制終了し、上記のコマンドを使用する必要があります。プロセス リストで mysql プロセスを grep して、プロセス ID を確認し、プロセスを強制終了します。

kill process_id

前のコマンドを発行してサービスを再起動します

于 2012-10-24T19:00:21.217 に答える