Solaris Mysql 故障且无法重新启动

Solaris Mysql 故障且无法重新启动

环境:Solaris 10

此 MySQL 服务器已运行 6 个月。今天突然崩溃了。以用户身份输入“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 重新读取配置。 ]
[5月30日 22:37:59 执行启动方法(“/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:37:59 方法“start”以状态 0 退出 ]
[ 5 月 30 日 22:38:13 由于服务中的所有进程均已退出,因此停止。 ]
[5月30日 22:38:13 执行停止方法(“/opt/coolstack/lib/svc/method/svc-cskmysql stop”)]
[ 5 月 30 日 22:38:13 方法“stop”以状态 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 方法“start”以状态 0 退出 ]
[ 5 月 30 日 22:38:25 由于服务中的所有进程均已退出而停止。 ]
[5月30日 22:38:25 执行停止方法(“/opt/coolstack/lib/svc/method/svc-cskmysql stop”)]
[ 5 月 30 日 22:38:25 方法“stop”以状态 0 退出 ]

我希望有人可能曾经遇到过这个问题并且知道如何解决它。

答案1

对于遇到类似问题的任何人来说。

所有 innoDB 表的索引都已损坏。我最后能做的就是运行强制恢复。

http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html

当我发布此帖子时,我已经尝试过 force-recovery = 4 并且没有成功,所以我认为它根本不起作用。

尽管最后我能够让 force-recovery =2 工作并且允许我访问数据。

备份所有内容后,我修复了索引,从那时起服务器就恢复正常了。

答案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

相关内容