Страница 1 из 1

FreePBX DB Error: connect failed (2)

Добавлено: 28 дек 2013, 19:32
panikovskij
Здравствуйте,

внимательно изучив содержание веток:
1. http://forum.asterisk.ru/viewtopic.php?f=3&t=2259
2. http://forum.asterisk.ru/viewtopic.php?f=5&t=2502
3. http://forum.asterisk.ru/viewtopic.php?f=4&t=487

осмеливаюсь, тем не менее, просить совета специалистов.

С учётом личности потерпевшего, прошу не сильно бить по голове - это моё слабое место. Я, живущий вдали от Родины дедушко-гуманитарий, пользовавшийся ранее облачным сервисом телефонии, собравший несколько месяцев назад своими руками железку в формате mini-ITX, установивший на неё FreePBX Distro, настроивший (во многом благодаря чтению вашего форума) и физически отправивший её на родину, дабы получить возможность иметь тамошний мобильный номер посредством втыкания в оную (в железку - не в Родину!) USB-модема с местной сим-картой.

Фабула
Установлено - Asterisk 11.6.0 + FreePBX 2.11
Вчера, после модификации файлов "dongle.conf" и "extensions_custom.conf" (пытался настроить приём и отправку смс и ussd на dongle, дабы вовремя отказываться от бесконечных платных услуг оператора), не захотела выполняться команда "amportal restart". Возможно, просто совпало по времени (?). В то же время, "service asterisk restart" работала. После двух ребутов сервера перестали автоматически запускаться asterisk и открываться графическая оболочка FreePBX со следующей ошибкой:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
FATAL ERROR

DB Error: connect failed

Trace Back

/var/www/html/admin/libraries/db_connect.php:63 die_freepbx()
[0]: DB Error: connect failed

/var/www/html/admin/bootstrap.php:98 require_once()
[0]: /var/www/html/admin/libraries/db_connect.php

/etc/freepbx.conf:9 require_once()
[0]: /var/www/html/admin/bootstrap.php

/var/www/html/admin/config.php:109 include_once()
[0]: /etc/freepbx.conf
- Астериск работает, клиенты и транки регистрируются, входящие и исходящие вызовы проходят по правилам, прописанным ранее с помощью FreePBX-
- Файл "/etc/asterisk/res_mysql.conf" отсутствует.
- Проверка работы php отдельно и с апачем в консоли (Vlad1983 здесь http://forum.asterisk.ru/viewtopic.php? ... 2&start=10 ) показала, что таблица с параметрами php открывается.
- Проверка файлов "/etc/amportal.conf" и "/etc/freepbx.conf" выдала результатом

Код: Выделить всё

<?php
$amp_conf['AMPDBUSER']  = 'freepbxuser';
$amp_conf['AMPDBPASS']  = 'пароль';
$amp_conf['AMPDBHOST']  = 'localhost';
$amp_conf['AMPDBNAME']  = 'asterisk';
$amp_conf['AMPDBENGINE'] = 'mysql';
$amp_conf['datasource'] = ''; //for sqlite3

require_once('/var/www/html/admin/bootstrap.php');
- Проверка MySQL посредством создания и открытия в браузере проверочного файла "/var/www/html/mysqltest.php" (по мануалу отсюда http://i-leon.ru/%D1%83%D1%81%D1%82%D0% ... D0%B8-ftp/ ) выдала результат "К сожалению, не доступен сервер mySQL".

Исходя из вышеописанного, я склоняюсь к решению, которое помогло пользователю Morya4ok-cr в ветке http://forum.asterisk.ru/viewtopic.php?f=3&t=2259 . Он написал, "Всем пасиба, разобрался переставил mysql и php завелось..." .

Вопросы:
1. Можно (нужно) ли мне переустанавливать "PHP + PHPMySQL + HTTPD" кодом

Код: Выделить всё

wget -q -O - http://www.atomicorp.com/installers/atomic.sh | sh
yum install -y php php-mysql httpd
как рекомендовал Vlad1983 в теме по ссылке? http://forum.asterisk.ru/viewtopic.php? ... 2&start=10
2. Или можно установить только MySQL и PHP по мануалу (п.6) отсюда? http://i-leon.ru/%D1%83%D1%81%D1%82%D0% ... D0%B8-ftp/
3. Или необходимо что-либо иное?
4. Если таки нужна переустановка MySQL и PHP (п.2), прошу ткнуть носом в правильный и подходящий для моего случая мануал, т.к. гугл выдаёт массу разных и очень отличных друг от друга инструкций. Боюсь, что вместо починить, убью железку насмерть.

Заранее признателен всем, кто откликнется.

Re: FreePBX DB Error: connect failed (2)

Добавлено: 28 дек 2013, 19:48
awsswa
смысла в переустановке mysql нету - смотрите логи.
судя по всему mysql не стартанул - смотрите логи mysql

переустановка таблицу mysql не поправит

Re: FreePBX DB Error: connect failed (2)

Добавлено: 28 дек 2013, 20:26
panikovskij
awsswa
смысла в переустановке mysql нету - смотрите логи.


Пошёл в "cd /var/log/mysqld.log" - логи заканчиваются 26 декабря в 20:53:02

Вот конец лога под спойлером:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
Version: '5.1.71-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution
131226 16:32:32 [Note] /usr/libexec/mysqld: Normal shutdown

131226 16:32:32 [Note] Event Scheduler: Purging the queue. 0 events
131226 16:32:32 InnoDB: Starting shutdown...
131226 16:32:36 InnoDB: Shutdown completed; log sequence number 0 44233
131226 16:32:36 [Note] /usr/libexec/mysqld: Shutdown complete

131226 20:32:36 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
131226 20:33:13 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
131226 20:33:13 InnoDB: Initializing buffer pool, size = 8.0M
131226 20:33:13 InnoDB: Completed initialization of buffer pool
131226 20:33:13 InnoDB: Started; log sequence number 0 44233
^G/usr/libexec/mysqld: File '/var/log/mysql/mysql.log' not found (Errcode: 13)
^G/usr/libexec/mysqld: File '/var/log/mysql/mysql.log' not found (Errcode: 13)
131226 20:33:13 [ERROR] Could not use /var/log/mysql/mysql.log for logging (error 13). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cau$
131226 20:33:13 [Note] Event Scheduler: Loaded 0 events
131226 20:33:13 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.1.71-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution
131226 20:49:07 [Note] /usr/libexec/mysqld: Normal shutdown

131226 20:49:07 [Note] Event Scheduler: Purging the queue. 0 events
131226 20:49:07 InnoDB: Starting shutdown...
131226 20:49:09 InnoDB: Shutdown completed; log sequence number 0 44233
131226 20:49:09 [Note] /usr/libexec/mysqld: Shutdown complete

131226 20:49:09 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
131226 20:53:02 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
131226 20:53:02 InnoDB: Initializing buffer pool, size = 8.0M
131226 20:53:02 InnoDB: Completed initialization of buffer pool
131226 20:53:02 InnoDB: Started; log sequence number 0 44233
^G/usr/libexec/mysqld: File '/var/log/mysql/mysql.log' not found (Errcode: 13)
131226 20:53:02 [ERROR] Could not use /var/log/mysql/mysql.log for logging (error 13). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cau$
131226 20:53:02 [Note] Event Scheduler: Loaded 0 events
131226 20:53:02 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.1.71-log' socket: '/var/lib/mysql/mysql.sock' port: 3306 Source distribution
awsswa
судя по всему mysql не стартанул - смотрите логи mysql

Да у меня его (MySQL) и руками запустить не получается.

Код: Выделить всё

[root@host- ~]# service mysqld status
mysqld is stopped
[root@host- ~]# service mysqld start
Another MySQL daemon already running with the same unix socket.
Starting mysqld:                                           [FAILED]

Re: FreePBX DB Error: connect failed (2)

Добавлено: 28 дек 2013, 20:43
awsswa
вообще то рестарт делают, а не запускают второй раз

включайте расширенное логирование mysql - и он скажет в какой базе ошибка

Re: FreePBX DB Error: connect failed (2)

Добавлено: 28 дек 2013, 21:01
panikovskij
Вот результаты рестарта:

Код: Выделить всё

[root@host- ~]# service mysqld restart
Stopping mysqld:                                           [  OK  ]
Another MySQL daemon already running with the same unix socket.
Спасибо. Пошёл искать, как включить расширенное логирование и, если найду, включать.

Re: FreePBX DB Error: connect failed (2)

Добавлено: 28 дек 2013, 21:20
panikovskij
awsswa, искренне признателен за помощь и участие. Проблема решена. До расширенных логов я, правда, не добрался. Собака порылась в "Another MySQL daemon already running with the same unix socket.".

Партия учит (с), что:

Cause
Socket was not removed after incorrect MySQL service stop.


А также даёт рекомендации вида:

Код: Выделить всё

service mysqld stop
mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak
service mysqld start
После выполнения кода, который выше, моя FreePBX радостно открылась и весело зажужжала. :) Ещё раз моя искренняя благодарность за то, что вовремя отговорили переустанавливать MySQL!

Удачи. :)