日期:2014-05-16  浏览次数:20745 次

mysql启动失败

原因:更换IP

现象描述:

mysql?respawn/post-start,?(post-start)?process?1277

尝试使用 dpkg-reconfigure mysql-server-5.1

采用dpkg-reconfigure方式修复mysql后,会有这样一个问题,即mysql数据用户会丢失掉,所以,针对你服务器上mysql的用户,还得作一次修复,可以通过以下命令来处理:

GRANT ALL PRIVILEGES ON db.* TO user@localhost IDENTIFIED BY “pass”;

这样来还原你原来系统中的那些用户。

?

其实对于我来说,这个方式不能解决问题,还是从日志开始吧...

找到日至文件 /var/log/mysql/error.log ,这一点很重要

?

日志内容

121219? 9:34:12 [Note] Plugin 'FEDERATED' is disabled.
121219? 9:34:12? InnoDB: Initializing buffer pool, size = 8.0M
121219? 9:34:12? InnoDB: Completed initialization of buffer pool
121219? 9:34:12? InnoDB: Started; log sequence number 14 841986821
121219? 9:34:12 [ERROR] Can't start server: Bind on TCP/IP port: Cannot assign requested address
121219? 9:34:12 [ERROR] Do you already have another mysqld server running on port: 3306 ?
121219? 9:34:12 [ERROR] Aborting

121219? 9:34:12? InnoDB: Starting shutdown...
121219? 9:34:17? InnoDB: Shutdown completed; log sequence number 14 841986821
121219? 9:34:17 [Note] /usr/sbin/mysqld: Shutdown complete

?

好吧,恭喜你,这个问题很简单。

注意关键词 Bind

这时,可以打开/etc/mysql/my.cnf

...

bind-address?? =? 192.168.141.25

...

如果你也是这么写的,那么把它改成

bind-address?? =? 0.0.0.0

然后重启即可

?

另外,mysql在启动时进行了端口的bind,那么当ip更换时,请注意这些细节

?