最近在使用MySQL5.7的過程中,啟動時遇到了一些問題,提示出錯信息如下:
mysqld: Can't read dir of '/usr/local/mysql/data/' (Errcode: 13 - Permission denied) mysqld: [ERROR] Aborting mysqld: [Note] mysqld: Shutdown complete
根據錯誤提示,我們可以發現一個關鍵字:“Permission denied”,也就是說,沒有足夠的權限訪問目錄。
這時,我們需要查找這個目錄及其所在的父目錄的權限設置??梢允褂萌缦旅钸M行檢查:
$ ls -ld /usr/local/mysql/data/ drwxr-xr-x 47 root root 4096 Jul 12 11:30 /usr/local/mysql/data/
上述命令輸出的前面一段字符串“drwxr-xr-x”代表了該目錄的權限設置,其中第 1 個字符表示文件類型,d 表示目錄,后面的字符每三個一組,表示了文件擁有者、群組和其他用戶的權限。
在本例中,“rwx”表示該目錄可讀可寫可執行,“r-x”表示群組和其他用戶只有讀和執行權限。因此,我們需要針對這個目錄以及它的父目錄進行相關的權限設置,使得MySQL用戶也能夠訪問該目錄。
針對這個問題,我們可以使用以下命令:
$ chown -R mysql:mysql /usr/local/mysql/data/ $ chmod -R 755 /usr/local/mysql/data/
這里,我們將文件夾的擁有者和所屬組都設置成了MySQL用戶,并且為目錄及其下面的所有文件設置了 rwxr-xr-x 權限。
最后,我們再次嘗試啟動MySQL服務,此時就可以成功啟動了。
下一篇nccn和css