2015-11-03 57 views
-1

我用命令:服務器退出而不更新PID文件「

/usr/local/Cellar/mysql/5.6.26/support-files/mysql.server start 

啓動數據庫並且得到錯誤信息:

ERROR! The server quit without updating PID file(/usr/local/var/mysql/macbooks-MacBook-Pro.local.pid). 

的local.err具有以下信息:

151103 20:43:37 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql 
2015-11-03 20:43:37 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). 
2015-11-03 20:43:37 0 [Note] /usr/local/Cellar/mysql/5.6.26/bin/mysqld (mysqld 5.6.26) starting as process 42772 ... 
2015-11-03 20:43:37 42772 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive 
2015-11-03 20:43:37 42772 [Note] Plugin 'FEDERATED' is disabled. 
/usr/local/Cellar/mysql/5.6.26/bin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13 - Permission denied) 
2015-11-03 20:43:37 42772 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 

回答

1

您的MySQL安裝似乎已損壞。您有一個錯誤,但擬議的決議是不太可能的幫助:

/usr/local/Cellar/mysql/5.6.26/bin/mysqld: Can't find file: './mysql /plugin.frm' 
(errno: 13 - Permission denied) 
2015-11-03 20:43:37 42772 [ERROR] Can't open the mysql.plugin table. 
Please run mysql_upgrade to create it. 

正如你看到的,MySQL不能打開文件,而不是因爲它不存在;而是因爲它沒有權利這樣做(錯誤13)。

從控制檯中,檢查'mysql'目錄中mysql/plugin.frm文件的狀態。你需要找到MySQL data directory(mysql)。

假如它是/usr/local/var/mysql/,你會做

ls -la /usr/local/var/mysql/ | more 

(SPACE或ENTER頁輸出),並看到一個包含 「plugin.frm一排」。

如果沒有,那麼運行mysql_upgrade命令威力解決的事情(但備份mysql安裝和數據目錄第一!萬一)。

如果有,請確認它與其他文件具有相同的用戶和組。有可能是其他文件將由Cellar /用戶擁有,這可能是root/wheel。作爲管理員(su),請嘗試運行

chown Cellar:users ./mysql/plugin.frm 

並且這應該修復Errno 13,並且可能還會修復PID問題。

失敗的一切,重新安裝MySQL可能是一個解決方案。您將安裝相同的版本5.6.26,然後驗證數據目錄,並在必要時用備份覆蓋它,注意保留新的所有權和權限。

這個技巧並不能保證可以在不同的MySQL版本和操作系統之間工作,但是在具有相同MySQL版本和操作系統的同一臺機器上,它絕對是絕佳的機會。

您也可以只運行您需要的數據庫的部分恢復(例如,您可以跳過恢復所有用戶和權限所在的mysql表空間,您將丟失它們,但數據仍可在其他位置訪問數據庫)。

相關問題