2013-05-28 54 views
3

我想爲mysql(OS Ubuntu 12.04)設置一個不同的數據目錄,例如/mnt/mysql/mysqlmysql:錯誤1018(HY000):無法讀取'。'的目錄。

我執行:

sudo mysql_install_db --user=mysql --datadir=/mnt/mysql/mysql 
sudo /etc/init.d/mysql start 
mysql -uroot 

的事情是,查詢SHOW DATABASES;ERROR 1018 (HY000): Can't read dir of '.' (errno: 13),但像SHOW TABLES FROM mysql查詢工作的罰款。

爲什麼?

+1

可能的重複http://stackoverflow.com/questions/11066411/mysql-error-error-1018-hy000-cant-read-dir-of-errno-13 –

+0

問題是相同的,@ CRRaD。如果您無法獲得現有的解決方案,請發表評論,要求說明如何應用該解決方案,或提供獎勵以吸引更多答案。不要簡單地重新發布這個問題,因爲這不會幫助任何人。謝謝 –

回答

1

這似乎是一個權限問題。可能的修復:

chown -R mysql.mysql /mnt/mysql/mysql 
+0

如果一切都由mysql擁有:mysql已經和它也是chmoded 777,它怎麼不能讀取? – Gubatron

4

我遇到了完全相同的問題。 mysqldata文件夾的所有者和權限是正確的。但它仍然說:mysql:ERROR 1018(HY000):無法讀取'。'的目錄。

我一直在掙扎着整整一天。最後我解決了它。 請檢查/etc/apparmor.d/usr.sbin.mysqld文件。應該是,而應該是/data/mysql/ r。我錯過了正斜槓

我改變後(六/etc/apparmor.d/usr.sbin.mysqld)

/data/mysql r, 
    /data/mysql/** rwk, 

到(不要錯過斜線

/data/mysql/ r, 
    /data/mysql/** rwk, 

然後重啓的AppArmor和MySQL。

sudo service apparmor restart 
    sudo service mysql restart 

之後,錯誤消失了!

相關問題