MySQL无法启动的解决办法

时间:2021-12-06 03:23:46

MySQL无法启动的解决办法

MySQL无法启动

在停止mysql之后,执行了一些操作(如修改主机名),重新启动 mysql,发现起不来。 

?
1
2
3
4
5
6
7
8
9
10
11
[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 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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

?
1
2
3
4
5
6
7
8
9
10
11
[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 ,现在执行多次启动命令都没有问题。

?
1
2
3
4
5
6
7
8
9
10
[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 到底是什么,看下:

?
1
2
3
4
[root@www ~]$ perror 11
OS error code 11: Resource temporarily unavailable
[root@www ~]$
[root@www ~]$

 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

原文链接:http://codingstandards.iteye.com/blog/1555040