Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование *NIX систем > Can't connect to local MySQL server through socket


Автор: Toti 20.7.2008, 12:44
Добрый день!

У меня не запускается MySQL Server. 

говорит "...failed or took more than 6s". Просит посмотреть в syslog. Высыпает вот такую вот ошибку

Код

error Can't connect to local MySQL server through socket '/var/run/mysqld/mysql.sock' (2)


Просит проверить существует ли mysqld.sock

В /var/log/mysql/error.log (который log-error = /var/log/mysql/error.log) говорит, что-то о не валидности InnoDb и засыпает кучами бредовых ошибок из которых абсолютно ничего не ясно.

До этого проблема решалась тривиальным 

Код

rm -fr /var/lib/mysql/ibdata1


и повторным

Код

/etc/init.d/mysql start


Она сейчас так решается. Но это уже стало напрягать! Я очень долго гуглил и примерял "чужие сапоги" (ну в смысле решения проблем) к своим "ногам" (типа своему MySQL Server'у)

Сдался и пришел сюда.

Help me please!!!

Автор: spin2 20.7.2008, 18:18
Путь к файлу корректный?

Автор: Imple 20.7.2008, 18:58
Работа MySQL сервера прекращается корректно? Случаем не падением питания?

Автор: Toti 20.7.2008, 20:41
> Путь к файлу корректный?

а при чем тут путь к файлу? Это ж сокет. Он появляется вместе с запуском соответствующего приложения (как pid, ток у их назначения разные)...

> Работа MySQL сервера прекращается корректно? Случаем не падением питания?

понимаю на что Вы намекаете smile Заканчивается корректно постепенным тушением:

Код

sudo halt


Более того. Если сделать вот так вот (когда MySQL запущен):

Код

/etc/init.d/mysql restart


ну или так (это в общем-то одно и тоже):

Код

/etc/init.d/mysql stop
/etc/init.d/mysql start


сервер снова отказывается подыматься. Очевидно - происходит какая-то фигня с /var/lib/ibdata1. Какая? Вопрос к Вам...

Автор: bilbobagginz 21.7.2008, 00:20
Цитата(Toti @  20.7.2008,  20:41 Найти цитируемый пост)
. Какая? Вопрос к Вам... 

во-первых - вопрос к вам: вы думаете мы тоже не сможем понять:
Цитата(Toti @  20.7.2008,  12:44 Найти цитируемый пост)
говорит, что-то о не валидности InnoDb и засыпает кучами бредовых ошибок из которых абсолютно ничего не ясно.

может всё-таки попробуем ? 

Автор: Toti 21.7.2008, 11:16
> может всё-таки попробуем ? 

угу. Именно за этим я сюда и пришел smile Говорите чем я могу помочь Вам чтобы Вы помогли мне smile

Автор: gcc 22.7.2008, 04:25
бэкап есть?

Автор: Toti 22.7.2008, 16:59
Цитата(gcc @ 22.7.2008,  04:25)
бэкап есть?

есть. За последние семь дней. Ежедневный. А проблема уже давноооо....

Автор: bilbobagginz 22.7.2008, 17:19
Цитата(Toti @  21.7.2008,  11:16 Найти цитируемый пост)
угу. Именно за этим я сюда и пришел smile Говорите чем я могу помочь Вам чтобы Вы помогли мне 

я думал, что мой пост однозначно говорит:
ОШИБКИ В СТУДИЮ

Автор: Toti 22.7.2008, 21:37
Цитата(bilbobagginz @ 22.7.2008,  17:19)
Цитата(Toti @  21.7.2008,  11:16 Найти цитируемый пост)
угу. Именно за этим я сюда и пришел smile Говорите чем я могу помочь Вам чтобы Вы помогли мне 

я думал, что мой пост однозначно говорит:
ОШИБКИ В СТУДИЮ

уп-с... Я вас не понял smile

Итак.

Код

root@debian:~# /etc/init.d/mysql restart
Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
.
.
.
.
.
.
.
.
.
.
.
.
.
...failed or took more than 6s.
        Please take a look at the syslog.
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!


затем 

Код

root@debian:~# rm /var/lib/mysql/ibdata1
root@debian:~# /etc/init.d/mysql start
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables.



error.log (очищеный. содержит результаты /etc/init.d/mysql restart) я упаковал и прикрепил к данному посту

Автор: Exaktus 23.7.2008, 23:23
Ну в логе ж явно написано:
Цитата

InnoDB: Probable reason is database corruption or memory
InnoDB: corruption. If this happens in an InnoDB database recovery, see
InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
InnoDB: how to force recovery.
................................................
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
InnoDB: about forcing recovery.

У Вас повреждена база. По указанной ссылке описан вариант решения.

Автор: bilbobagginz 24.7.2008, 09:10
Цитата(Toti @  22.7.2008,  21:37 Найти цитируемый пост)
Итак.

в общем Exaktus, всё правильно сказал, но на будущее, рекомендуется каждую команду в процессе отладки работы запускать до и после даты:
Код

date; /etc/init.d/mysql restart; date

тогда, когда я смотрю лог, буду точно знать - какая запись к какой команде относится.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)