2012-06-16 48 views
27

當我嘗試查看在MySQL數據庫我得到這個錯誤:mysql錯誤:錯誤1018(HY000):無法讀取'。'的目錄。 (錯誤:13)

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. 

什麼可以在c請問這個問題?

在此先感謝

+0

你有沒有以前連接?你可以在你的設置文件中編輯,以便我們更好地瞭解發生的事情嗎? –

+0

是的,它是 –

+0

也許這可能是有用的,以防您的系統使用AppArmor:http://ar.zu.my/solved-show-databases-error-1018-hy000-can-t-read-dir- of-errno-13/ – user1981275

回答

47

您需要設置所有權和權限目錄:

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

注:-R使命令遞歸的 - 你可以忽略它,如果沒有子目錄中/var/lib/mysql/

+0

我應該用mysql用戶替換第一個mysql嗎? –

+1

你的'mysqld'守護進程運行的用戶 - 參見'/ etc/passwd'。我相信這是'mysql'默認 – scriptin

+0

ive改變了它,它的工作原理,但現在它的工作原理,但如果我重新加載它並沒有...如果我再次加載它確實 –

1
chown -R mysql:mysql /var/lib/mysql/ 

chmod -R 755 /var/lib/mysql/ 

我可以證實,這兩種搭配chmod報表工作對我來說(Webmin的沒看到的數據庫也沒有顯示錶),但我不知道爲什麼我設置也許是二十幾服務器後,要做到這一點(Centos)與MySQL在過去幾年。

+0

你爲什麼添加與@scriptin相同的答案只能說它有效,但你不知道他們實際上做了什麼。最好在其他答案中發表評論,並提高它(如果可以的話)。向別人推薦你不瞭解的東西是一個壞主意。 – PhoneixS

27

對於我們OS X用戶,這應該工作:

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

編輯:根據您mysql安裝您的里程我的有所不同。我安裝使用上mysql.com MySQL的社區服務器DMG安裝

+0

遲了幾年,但謝謝你! –

+1

我發現這與谷歌,而我能夠使用的答案來解決我的問題,我有不同的路徑。所以我發佈了這個爲了可能最終在這裏的其他mac用戶的利益。 – denodster

+1

它好像在macports下的El Capitan中重新定位。我不得不使用 須藤喬敦 - R的_mysql:_mysql /選擇/本地的/ var/DB/mysql56/ 須藤喬敦 - R的_mysql:_mysql /選擇/本地的/ var /運行/ mysql56/ 須藤喬敦 - R的_mysql:_mysql/opt/local/var/log/mysql56/ – DDay

0

OSX海伊謝拉使用以下命令可以解決這個問題:

chown -R mysql:mysql /usr/local/mysql 
相關問題