Назад | Перейти на главную страницу

Сбой Solaris Mysql и невозможность перезапуска

Окружающая среда: Solaris 10

Этот сервер MySQL работает уже 6 месяцев. Сегодня он внезапно разбился. При вводе mysql в качестве пользователя выдается ошибка MYSQL" Error 2002 (HY000): Can't Connect to Local MySQL server though socket '/tmp/mysql.sock'. При вводе mysql от имени root он говорит mysql: not found.

Сервер пытается открыть MySQL, он остается открытым в течение 9-10 секунд и перезапускает процесс. Ниже представлены журналы приложений.

Application-database-mysql_mysql-csk.log
[ May 30 22:37:52 Enabled. ]
[ May 30 22:37:58 Rereading configuration. ]
[ May 30 22:37:59 Executing start method ("/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
[ May 30 22:37:59 Method "start" exited with status 0 ]
[ May 30 22:38:13 Stopping because all processes in service exited. ]
[ May 30 22:38:13 Executing stop method ("/opt/coolstack/lib/svc/method/svc-cskmysql stop") ]
[ May 30 22:38:13 Method "stop" exited with status 0 ]
[ May 30 22:38:13 Executing start method ("/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
[ May 30 22:38:13 Method "start" exited with status 0 ]
[ May 30 22:38:25 Stopping because all processes in service exited. ]
[ May 30 22:38:25 Executing stop method ("/opt/coolstack/lib/svc/method/svc-cskmysql stop") ]
[ May 30 22:38:25 Method "stop" exited with status 0 ]

Я надеюсь, что кто-то уже сталкивался с этим раньше и знает, как это исправить.

Для всех, кто сталкивается с подобной проблемой.

Индексы для всех таблиц innoDB были повреждены. Единственное, что мне в итоге удалось сделать, - это выполнить принудительное восстановление.

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

Когда я опубликовал это, я уже пробовал force-recovery = 4, и это было безуспешно, поэтому я решил, что это вообще не сработает.

Хотя в конце концов я смог заставить работать force-recovery = 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