這篇文章主要介紹了MySQL無法啟動的解決辦法的相關資料,希望透過本文大家能解決資料庫不能啟動的問題,需要的朋友可以參考下
MySQL無法啟動的解決方法
MySQL無法啟動
在停止mysql之後,執行了一些動作(如修改主機名稱),重新啟動mysql,發現起不來。
[root@www ~]$ service mysql start Starting MySQL..^[[A.................................................................................................. ERROR! The server quit without updating PID file (/disk/mysql/www.pid). [root@www ~]$ service mysql stop ERROR! MySQL server PID file could not be found! [root@www ~]$ service mysql stop ERROR! MySQL server PID file could not be found! [root@www ~]$ service mysql start Starting MySQL.................. 还是老样子,只好 Ctr+C 掉。 [root@www ~]$
實在是啟動不了,看看日誌:/disk/mysql/www.err
120608 09:56:17 mysqld_safe Starting mysqld daemon with databases from /disk/mysql 120608 9:56:17 [Note] Plugin 'FEDERATED' is disabled. 120608 9:56:17 InnoDB: The InnoDB memory heap is disabled 120608 9:56:17 InnoDB: Mutexes and rw_locks use InnoDB's own implementation 120608 9:56:17 InnoDB: Compressed tables use zlib 1.2.3 120608 9:56:17 InnoDB: Using Linux native AIO 120608 9:56:17 InnoDB: Initializing buffer pool, size = 128.0M 120608 9:56:17 InnoDB: Completed initialization of buffer pool InnoDB: Unable to lock ./ibdata1, error: 11 InnoDB: Check that you do not already have another mysqld process InnoDB: using the same InnoDB data or log files. 120608 9:56:17 InnoDB: Retrying to lock the first data file InnoDB: Unable to lock ./ibdata1, error: 11 InnoDB: Check that you do not already have another mysqld process InnoDB: using the same InnoDB data or log files. InnoDB: Unable to lock ./ibdata1, error: 11 InnoDB: Check that you do not already have another mysqld process InnoDB: using the same InnoDB data or log files. InnoDB: Unable to lock ./ibdata1, error: 11 ...
好像是原來的mysqld 並沒有停下來。
強制終止 mysqld
[root@www ~]$ ps -ef|grep mysql root 4769 1 0 Jun06 ? 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/disk/mysql --pid-file=/disk/mysql/localhost.pid mysql 4874 4769 0 Jun06 ? 00:04:04 /usr/sbin/mysqld --basedir=/usr --datadir=/disk/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/disk/mysql/localhost.err --pid-file=/disk/mysql/localhost.pid --socket=/disk/mysql/mysql.sock root 17947 1 0 09:56 pts/1 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/disk/mysql --pid-file=/disk/mysql/www.pid mysql 18052 17947 0 09:56 pts/1 00:00:00 /usr/sbin/mysqld --basedir=/usr --datadir=/disk/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/disk/mysql/www.err --pid-file=/disk/mysql/www.pid --socket=/disk/mysql/mysql.sock root 18099 17514 0 09:56 pts/1 00:00:00 grep mysql [root@www ~]$ killall mysqld [root@www ~]$ killall mysqld [root@www ~]$ ps -ef|grep mysql root 18116 17514 0 09:57 pts/1 00:00:00 grep mysql [root@www ~]$
啟動 mysqld ,現在執行多次啟動指令都沒問題。
[root@www ~]$ service mysql start Starting MySQL. SUCCESS! [root@www ~]$ [root@www ~]$ [root@www ~]$ [root@www ~]$ [root@www ~]$ service mysql start Starting MySQL SUCCESS! [root@www ~]$
前面www.err 檔案中顯示的error: 11 到底是什麼,看下:
[root@www ~]$ perror 11 OS error code 11: Resource temporarily unavailable [root@www ~]$ [root@www ~]$
以上是MySQL無法啟動的解決方案範例分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!