先交代一個背景
我的系統 ubuntu 16.04
使用 root 命令登錄后, 然后使用 service mysql start 啟動mysql, 啟動失敗.
那么我就去看日志文件.
首先我要去查日志文件在哪里, 所以我就 使用 mysqld --help --verbose | less 命令去看配置文件放在哪里. (這些命令不懂什么意思請去搜索一下)
然后我發現 我這個幫助文件里 說明了配置文件的位置 /etc/mysql/my.cnf, 然后經過順藤摸瓜, 我找到了日志的位置.
我發現日志的錯誤是:
日志:
59261 2019-02-24T00:37:54.085746Z 0 [ERROR] /usr/sbin/mysqld: Can't create/write to file '/var/lib/mysqldir/mysqld.pid' (Errcode: 13 - Permission denied)
59262 2019-02-24T00:37:54.085786Z 0 [ERROR] Can't start server: can't create PID file: Permission denied
而配置:
user = mysql
pid-file = /var/lib/mysqldir/mysqld.pid
對飲文件夾/var/lib/mysqldir 權限:
drwxr-xr-x 2 mysql mysql 4.0K Feb 23 19:33 mysqldir
百思不得其解, 我看了好多博文, 都說什么權限改一下就好了, 尼瑪我權限沒問題啊, 於是我又找啊找, 找了好久也沒找到合適的, 於是我又認真閱讀了一下報錯提示, 是 errCode 13
終於發現了一篇博文,
https://www.linuxidc.com/Linux/2012-02/55533.htm
解決辦法
我明白了, 原來是 ubuntu下面的 AppArmor在作怪啊, 我就進入其針對mysqld的配置文件, 使用 vim /etc/apparmor.d/usr.sbin.mysqld 然后查看了這個文件針對 mysqld的配置, 修改了 myql里面的配置PID的目錄, 果然一下子成功了!!
非常的喜悅啊, 這個東西困擾了我好久, 終於給他找到答案了!!!!