46

mysql でデータベースを表示しようとすると、次のエラーが発生します。

ERROR 1018 (HY000): Can't read dir of '.' (errno: 13)

そして、それは私のアプリが表示されなくなります...

私のdjangoデバッガは次のように言っています:

(2002, "Can't connect to local MySQL server through socket '/var/lib/mysql/my_database' (13)")

これが私の設定ファイルです:

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
    'NAME': 'my_database',                      # Or path to database file if using sqlite3.
    'USER': 'root',                      # Not used with sqlite3.
    'PASSWORD': '****',                  # Not used with sqlite3.
    'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
    'PORT': '3306',                      # Set to empty string for default. Not used with sqlite3.

問題の原因は何ですか?

前もって感謝します

4

6 に答える 6

81

ディレクトリの所有権と権限を設定する必要があります。

chown -R mysql:mysql /var/lib/mysql/ #your mysql user may have different name
chmod -R 755 /var/lib/mysql/

注:-Rはコマンドを再帰的にします - にサブディレクトリがない場合は省略できます/var/lib/mysql/

于 2012-06-16T19:38:12.463 に答える
37

これは Mac ユーザーに有効です。

sudo chown -R mysql:mysql /usr/local/mysql/
sudo chmod -R 755 /usr/local/mysql/

これが機能しない場合は、実行して mysql のインストール場所を確認し、上記のコマンドを「bin」ディレクトリの前にあるものにwhich mysql置き換えます。/usr/local/mysql/

たとえば、私のシステムでwhich mysqlは次の出力が生成されます。

/usr/local/mysql/bin/mysql

だから私の道は/usr/local/mysql/

于 2015-12-09T17:47:30.103 に答える