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.solionline.com.pid
[ 5 月 30 日 22:37:59 方法「start」退出,狀態為 0 ]
[ 5 月 30 日 22:38:13 停止,因為服務中的所有進程都已退出。 ]
[ 5 月 30 日 22:38:13 執行 stop 方法 ("/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.solionline.com.pid
[ 5 月 30 日 22:38:13 方法「start」退出,狀態為 0 ]
[ 5 月 30 日 22:38:25 停止,因為服務中的所有進程都已退出。 ]
[ 5 月 30 日 22:38:25 執行 stop 方法 ("/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

相關內容