在群里看到有新同學還在問MySQL無法啟動的問題,於是總結了幾個常見情況與解決方法,需要的朋友可以參考下
昨天在群里看到有新同學還在問MySQL無法啟動的問題,於是總結了幾個常見情況,權當普及帖了,老鳥自覺飛過。
問題1:目錄、文件權限設置不正確
MySQL的$datadir目錄,及其下屬目錄、文件權限屬性設置不正確,導致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中關於datafile、log file設置不正確,導致無法啟動。尤其是第一次用默認參數啟動過,后來又參考一些優化指南后,修改了innodb的參數,會提示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系統庫
MySQL安裝完后,需要運行mysql_install_db初始化mysql這個系統庫,才能正常啟動。
問題5:如果將mysql以普通用戶權限運行的時候需要注意一些目錄權限與用戶名密碼設置
有時候為了讓mysql更安全一些,我們都會將 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
/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 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系統庫
MySQL安裝完后,需要運行mysql_install_db初始化mysql這個系統庫,才能正常啟動。
問題5:如果將mysql以普通用戶權限運行的時候需要注意一些目錄權限與用戶名密碼設置
有時候為了讓mysql更安全一些,我們都會將 mysql低權限運行,由於一些安全設置工具的原因,需要將此用戶重新設置一下密碼就可以了。