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更换时,请注意这些细节