最近遇到一個問題如下:
追蹤流程:
先查 MySQL ErrorCode:13
發現是權限被拒,因此就是資料夾權限問題
這時查看一下權限
發現已經是 777 如果不是,就執行以下動作,mysqltmp是資料夾名哦
再執行一次,仍然不行,因此繼續找其他權限控制的軟體。
發現在 /etc/apparmor.d/usr.sbin.mysqld 有權限限制的設定
因此就在此檔案裡加上
接著重新載入設定檔
這時再啟動MySQL應該就會成功了 :D
參考資料:
/usr/sbin/mysqld: Can't create/write to file '/mysqltmp/ibXc3yTC' (Errcode: 13)
170619 3:32:30 InnoDB: Error: unable to create temporary file; errno: 13
170619 3:32:30 [ERROR] Plugin 'InnoDB' init function returned error.
170619 3:32:30 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
170619 3:32:30 [ERROR] Unknown/unsupported storage engine: InnoDB
170619 3:32:30 [ERROR] Aborting
追蹤流程:
先查 MySQL ErrorCode:13
發現是權限被拒,因此就是資料夾權限問題
這時查看一下權限
drwxrwxrwx 2 root root 4096 Jun 19 03:33 mysqltmp
發現已經是 777 如果不是,就執行以下動作,mysqltmp是資料夾名哦
chown roor.roor mysqltmp chmod 777 mysqltmp
再執行一次,仍然不行,因此繼續找其他權限控制的軟體。
發現在 /etc/apparmor.d/usr.sbin.mysqld 有權限限制的設定
因此就在此檔案裡加上
/mysqltmp r, /mysqltmp/** rw,
接著重新載入設定檔
sudo apparmor_parser -r /etc/apparmor.d/usr.sbin.mysqld
這時再啟動MySQL應該就會成功了 :D
參考資料:
留言
張貼留言