萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> Homebrew 安裝的 MySQL 在 EI Capitan 上無法啟動

Homebrew 安裝的 MySQL 在 EI Capitan 上無法啟動

Homebrew 安裝的 MySQL 在 EI Capitan 上無法啟動是什麼問題呢,對於這個問題我們一起來看看如何解決它吧,希望文章能夠幫助到大家。

用 Homebrew 安裝的 MySQL 5.7.12 莫名其妙就掛掉了,翻看系統日志,看到一堆這樣的提示:

Jun 2 20:08:49 zrong-mbp com.apple.xpc.launchd[1] (homebrew.mxcl.mysql) : Service only ran for 0 seconds. Pushing respawn out by 10 seconds.

這樣的提示每10秒一次,從中午一直到現在。

MySQL 是使用 Homebrew 提供的 servies 子命令啟動的:

sudo brew service start mysql

這條命令做的事情比較簡單,大概是這樣:

cp /usr/local/opt/mysql/homebrew.mxcl.mysql.plist /Library/LaunchDaemons
sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.mysql.plist

我在 在 Mac OS X 上安裝lighttpd 中做過介紹。

折騰了幾次之後,我又發現一條這樣的信息:

Jun 2 20:11:08 zrong-mbp com.apple.xpc.launchd[1] (homebrew.mxcl.mysql) : This service is defined to be constantly running and is inherently inefficient.

這一下讓我找錯了方向,有人說這是因為 Apple suggest avoiding KeepAlive and RunAtLoad 導致的。我刪除了 homebrew.mxcl.mysql.plist 中的 KeepAlive 和 RunAtLoad ,當然是沒有什麼卵用。

接著看 /usr/local/var/mysql/{your-mac}.err ,我才發現真正問題所在:

2016-06-02T15:11:34.350795Z 0 [ERROR] InnoDB: The innodb_system data file ‘ibdata1’ must be writable

注意這個log文檔中的時間是格林威治時間。

原來是因為文件不可寫導致的。看看這個 err 文件的權限是 _mysql:admin ,於是將整個 /usr/local/var/mysql 文件夾和之下所有文件權限改為相同即可:

sudo chown -r _mysql:admin /usr/local/var/mysql

當然大家也可以不使用Homebrew了而直接安裝mysql數據庫可能會更好一些為避免一些不必要的麻煩哦。

copyright © 萬盛學電腦網 all rights reserved