在 Linux 系統下嘗試停止或重啟 MySQL 服務時,遇到以下警告導致操作失敗:
Warning: World-writable config file '/etc/my.cnf' is ignored
MySQL manager or server PID file could not be found!
這表示 MySQL 忽略了權限過於開放的配置文件,導致無法正常讀取配置進而無法關閉服務。
檢查 /etc/my.cnf 文件權限:
[root@server ~]# ls -l /etc/my.cnf
-rwxrwxrwx 1 root root 4878 Jul 30 11:31 /etc/my.cnf
權限為 777(-rwxrwxrwx),意味著所有用戶均可讀寫執行。MySQL 出於安全考慮,拒絕使用全局可寫的配置文件,防止被惡意篡改。
將配置文件權限修改為 644(擁有者可讀寫,組用戶和其他用戶僅可讀):
[root@server ~]# chmod 644 /etc/my.cnf
驗證權限變更:
[root@server ~]# ls -l /etc/my.cnf
-rw-r--r-- 1 root root 4878 Jul 30 11:31 /etc/my.cnf
再次嘗試停止 MySQL 服務:
[root@server ~]# service mysqld stop
Shutting down MySQL..[ OK ]
服務成功關閉,問題解決。
/etc/my.cnf 或 /etc/mysql/my.cnf 權限應始終設置為 644 或更嚴格的 600root:root 或 mysql:mysqlMySQL 為了安全性,強制要求配置文件不可被「其他用戶」寫入。遇到 World-writable config file is ignored 警告時,只需執行 chmod 644 /etc/my.cnf 即可快速修復。這是一個典型的權限配置疏忽問題,通過規範運維操作可有效預防。