环境:Solaris 10
这个MySQL服务器已经运行了6个月了。 今天突然它坠毁了。 当input“mysql”作为用户时,它会给出错误MYSQL" Error 2002 (HY000): Can't Connect to Local MySQL server though socket '/tmp/mysql.sock'
当以root身份键入mysql它说mysql: not found
。
服务器试图打开MySQL,它保持打开9-10秒,并重新启动过程。 以下是应用程序日志。
应用程序数据库mysql_mysql-csk.log [5月30 22:37:52启用。 ] [5月30日22:37:58重读configuration。 ] [5月30日22:37:59执行启动方法(“/ opt / coolstack / lib / svc / method / svc-cskmysql启动”)] / opt / coolstack / mysql / bin / mysqld_safe --user = mysql --datadir = / dbpool1 / data --pid-file = / dbpool1 / data / database.soliaonline.com.pid [5月30日22:37:59方法“开始”退出状态0] [5月30日22时38分13秒停止,因为在服务中的所有进程退出。 ] [5月30日22:38:13执行停止方法(“/ opt / coolstack / lib / svc / method / svc-cskmysql停止”)] [5月30日22:38:13状态0退出方法“停止” [5月30日22:38:13执行启动方法(“/ opt / coolstack / lib / svc / method / svc-cskmysql start”)] / opt / coolstack / mysql / bin / mysqld_safe --user = mysql --datadir = / dbpool1 / data --pid-file = / dbpool1 / data / database.soliaonline.com.pid [5月30日22:38:13方法“开始”退出状态0] [5月30日22时38分25秒停止,因为在服务中的所有进程退出。 ] [5月30 22:38:25执行停止方法(“/ opt / coolstack / lib / svc / method / svc-cskmysql停止”)] [5月30日22:38:25状态0退出方法“停止”]
我希望有人可能会遇到这种情况,可能会知道如何解决这个问题。
对于遇到类似问题的其他人。
所有innoDB表的索引都已损坏。 我最终能做的一件事就是恢复原状。
http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html
当我发布这个,我已经尝试了强制恢复= 4,这是不成功的,所以我觉得这是行不通的。
尽pipe最终我能够获得强制恢复= 2的工作,并允许我访问数据。
在把所有东西都备份起来之后,我修复了索引,服务器从那里出来了。
我的第一个想法是检查MySQL日志本身,可能在/dbpool1/data/$hostname.err
也许可以说明为什么MySQL没有启动。 或者,手动执行启动命令也可以帮助:
/opt/coolstack/mysql/bin/mysqld_safe --user=mysql --datadir=/dbpool1/data --pid-file=/dbpool1/data/database.soliaonline.com.pid