MySQL無法啟動幾種常見問題小結(jié)
更新時間:2013年09月14日 13:50:36 作者:
在群里看到有新同學還在問MySQL無法啟動的問題,于是總結(jié)了幾個常見情況與解決方法,需要的朋友可以參考下
昨天在群里看到有新同學還在問MySQL無法啟動的問題,于是總結(jié)了幾個常見情況,權(quán)當普及帖了,老鳥自覺飛過。
問題1:目錄、文件權(quán)限設(shè)置不正確
MySQL的$datadir目錄,及其下屬目錄、文件權(quán)限屬性設(shè)置不正確,導致MySQL無法正常讀寫文件,無法啟動。
錯誤信息例如:
問題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中關(guān)于datafile、log file設(shè)置不正確,導致無法啟動。尤其是第一次用默認參數(shù)啟動過,后來又參考一些優(yōu)化指南后,修改了innodb的參數(shù),會提示different size,詳細錯誤例如:
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: 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系統(tǒng)庫
MySQL安裝完后,需要運行mysql_install_db初始化mysql這個系統(tǒng)庫,才能正常啟動。
問題5:如果將mysql以普通用戶權(quán)限運行的時候需要注意一些目錄權(quán)限與用戶名密碼設(shè)置
有時候為了讓mysql更安全一些,我們都會將mysql低權(quán)限運行,由于一些安全設(shè)置工具的原因,需要將此用戶重新設(shè)置一下密碼就可以了。
本次先列舉上述幾個常見問題,下次再補充。
通常地,碰到mysqld進程無法啟動時,不管任何錯誤,都優(yōu)先檢查錯誤日志(日志文件一般在 $datadir/xx.err文件,或者是 /var/log/message、/var/log/mysql/mysqld.log之類的),根據(jù)錯誤日志提示去找到問題原因,不要只看表面提示,例如找不到 mysql.sock 文件之類的。
問題1:目錄、文件權(quán)限設(shè)置不正確
MySQL的$datadir目錄,及其下屬目錄、文件權(quán)限屬性設(shè)置不正確,導致MySQL無法正常讀寫文件,無法啟動。
錯誤信息例如:
復制代碼 代碼如下:
[code]
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
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中關(guān)于datafile、log file設(shè)置不正確,導致無法啟動。尤其是第一次用默認參數(shù)啟動過,后來又參考一些優(yōu)化指南后,修改了innodb的參數(shù),會提示different size,詳細錯誤例如:
復制代碼 代碼如下:
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
InnoDB: 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系統(tǒng)庫
MySQL安裝完后,需要運行mysql_install_db初始化mysql這個系統(tǒng)庫,才能正常啟動。
問題5:如果將mysql以普通用戶權(quán)限運行的時候需要注意一些目錄權(quán)限與用戶名密碼設(shè)置
有時候為了讓mysql更安全一些,我們都會將mysql低權(quán)限運行,由于一些安全設(shè)置工具的原因,需要將此用戶重新設(shè)置一下密碼就可以了。
本次先列舉上述幾個常見問題,下次再補充。
通常地,碰到mysqld進程無法啟動時,不管任何錯誤,都優(yōu)先檢查錯誤日志(日志文件一般在 $datadir/xx.err文件,或者是 /var/log/message、/var/log/mysql/mysqld.log之類的),根據(jù)錯誤日志提示去找到問題原因,不要只看表面提示,例如找不到 mysql.sock 文件之類的。
相關(guān)文章
mysql 字符串轉(zhuǎn)數(shù)組的實現(xiàn)示例
有時候,我們需要將一個字符串拆分成一個數(shù)組,本文主要介紹了mysql 字符串轉(zhuǎn)數(shù)組的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-01-01使用mysql_udf與curl庫完成http_post通信模塊示例
這篇文章主要介紹了使用mysql_udf與curl庫完成http_post通信模塊示例,需要的朋友可以參考下2014-03-03Mysql中批量替換某個字段的部分數(shù)據(jù)(推薦)
這篇文章主要介紹了Mysql中批量替換某個字段的部分數(shù)據(jù),通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02深入SQL Server中char、varchar、text和nchar、nvarchar、ntext的區(qū)別詳解
本篇文章是對char、varchar、text和nchar、nvarchar、ntext的區(qū)別進行了詳細的分析介紹,需要的朋友參考下2013-06-06MySQL數(shù)據(jù)庫InnoDB引擎主從復制同步經(jīng)驗總結(jié)
這篇文章主要介紹了MySQL數(shù)據(jù)庫InnoDB引擎主從復制同步經(jīng)驗總結(jié),本文總結(jié)了設(shè)置主從復制時遇到的一些錯誤和解決方法,需要的朋友可以參考下2015-01-01Mysql數(shù)據(jù)庫時間與系統(tǒng)時間不一致問題排查及解決
最近忽然發(fā)現(xiàn)個問題,Mysql數(shù)據(jù)庫時間與系統(tǒng)時間不一致,通過查找相關(guān)資料終于解決了,下面這篇文章主要給大家介紹了關(guān)于Mysql數(shù)據(jù)庫時間與系統(tǒng)時間不一致問題排查及解決的相關(guān)資料,需要的朋友可以參考下2023-06-06MySQL中使用group by 是總是出現(xiàn)1055的錯誤(推薦)
這篇文章主要介紹了MySQL中使用group by 是總是出現(xiàn)1055的錯誤,小編通過查閱相關(guān)資料才把問題解決,今天小編記錄下分享到腳本之家平臺,需要的朋友可以參考下2020-02-02