14 янв. 2015 г.

Ошибка Elastix "cdr_mysql.c: Unable to query table description!! Logging disabled.".

В понедельник случилась неприятность с Elastix у клиента - не уследили за переполнением логов, и место на диске "С" закончилось и, как это бывает часто в данном случае с Asterisk, повредился mysql болезный. Соответственно, войти через web-интерфейс никто не мог, телефония также встала и всё заверте...

Подключившись через консоль и набрав tailf /var/log/asterisk/full видим, что хвост лога содержит следующее:

>cdr_mysql.c: Unable to query table description!! Logging disabled.

Смотрим подробности: 

>service asterisk stop

Спойлер: тут надо бы сделать service mysqld stop, но у меня вылетало следующее:    Access denied for user 'root'@'localhost' (using password: YES) when trying to connect. То есть база поломалась. Делал восстановление на работающем mysql.

>mysql -u root -p

тут вводим наш пароль

>connect asteriskcdrdb;
>status;

Смотрим и видим, что в данном случае повреждена таблица cdr.
Продолжаем:

>repair table cdr;

Дожидаемся окончания.

>quit;
>service mysqld stop
>service mysqld start
>service asterisk start
>asterisk -rvvv

Смотрим вывод asterisk в реальном времени и видим, что телефония заработала нормально.
Тем не менее, доступа через web-интерфейс до сих пор нет и браузер грозно ругается.

Делаем следующее:

>yum freepbx-upgrade

Дожидаемся окончания.

>service httpd stop
>service httpd start

Вуаля! Web-интерфейс заработал.

Вот и всё. Не забывайте чистить логи!