LNMP 設定 MySQL 的錯誤日誌

為了幫客戶除錯,所以需要開啟 MySQL 的 log_error 功能,但是在 my.cnf 中新增了 log_error 的組態後,無法重新啟動 mysql 的服務。

$ vim /etc/my.cnf
[mysqld]
...
log_error=/var/log/mysql/error.log
$ lnmp mysql restart
mysql.serviceJob for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.

輸入了上述的兩種指令碼之後,都找不到具體的原因,總之都失敗了。出現以下訊息:

Failed to start LSB: start and stop MySQL.

解決方式

由於 LNMP 這款堆疊程式碼在安裝 mysql 時,會在系統中新增 mysql 的使用者與群組,用這組權限來控制資料庫,但是我在 my.cnf 中指定的路徑權限屬於 root:root。在無法讀取 log 檔案的情況下,MySQL 就無法正常打開。

$ mkdir /var/log/mysql
$ touch /var/log/mysql/error.log
$ chown -R mysql:mysql /var/log/mysql
$ lnmp restart mysql
+-------------------------------------------+
|    Manager for LNMP, Written by Licess    |
+-------------------------------------------+
|              https://lnmp.org             |
+-------------------------------------------+
[ ok ] Restarting mysql (via systemctl): mysql.service.

參考資料

預設圖片
Eric Chuang
正職是廣告行銷人員,因為 Google Tag Manager 的關係開始踏入網站製作的領域,進一步把 WordPress 當成 PHP + HTML + CSS + JavaScript 的學習教材。此外,因為工作的關係,曾經用 Automattic 的 Underscores (_s) 替客戶與公司官網進行全客製化佈景主題開發。

發佈留言

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

Physical Address

304 North Cardinal St.
Dorchester Center, MA 02124