標籤:mysql faq 無法啟動
昨天在群裡看到有新同學還在問MySQL無法啟動的問題,於是總結了幾個常見情況,權當普及帖了,老鳥自覺飛過。
問題1:目錄、檔案使用權限設定不正確
MySQL的$datadir目錄,及其下屬目錄、檔案許可權屬性設定不正確,導致MySQL無法正常讀寫檔案,無法啟動。
錯誤資訊例如:
mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data/usr/local/mysql/bin/mysqld_safe: line 107: /usr/local/mysql/data/imysql.local.err: Permission denied
問題2:連接埠衝突
已有其他mysqld執行個體啟動,且佔用了相同連接埠,需要修改 port 選項。
錯誤資訊例如:
[ERROR] Can‘t start server: Bind on TCP/IP port: Address already in use[ERROR] Do you already have another mysqld server running on port: 3306 ?[ERROR] Aborting
問題3:innodb配置不正確
innodb中關於datafile、log file設定不正確,導致無法啟動。尤其是第一次用預設參數啟動過,後來又參考一些最佳化指南後,修改了innodb的參數,會提示different size,詳細錯誤例如:
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytesInnoDB: than specified in the .cnf file 0 134217728 bytes![ERROR] Plugin ‘InnoDB’ init function returned error.[ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
問題4:沒有初始化mysql系統庫
MySQL安裝完後,需要運行mysql_install_db初始化mysql這個系統庫,才能正常啟動。
本次先列舉上述幾個常見問題,下次再補充。
通常地,碰到mysqld進程無法啟動時,不管任何錯誤,都優先檢查錯誤記錄檔(記錄檔一般在 $datadir/xx.err檔案,或者是 /var/log/message、/var/log/mysql/mysqld.log之類的),根據錯誤記錄檔提示去找到問題原因,不要只看錶面提示,例如找不到 mysql.sock 檔案之類的。
--------------------------------------分割線--------------------------------------
知數堂 (http://zhishuedu.com)培訓是由資深MySQL專家葉金榮、吳炳錫聯合推出的專業優質培訓品牌,主要有MySQL DBA實戰最佳化和Python營運開發課程,是業內最有良心、最有品質的培訓課程。
本文出自 “老葉茶館” 部落格,請務必保留此出處http://imysql.blog.51cto.com/1540006/1879761
FAQ系列 | 幾種常見MySQL無法啟動案例