Начальная ошибка подключения к базе данных в начале дня

0

Контекст: система телефонии (Asterisk) с использованием API MySQL C для подключения к базе данных для поиска маршрутизации для вызова, когда он приходит. Поиск включает в себя подключение к базе данных, выполнение запроса, а затем закрытие соединения.

Иногда первый звонок утром вызывает следующую ошибку:

Доступ запрещен для пользователя 'asterisk'@'127.0.0.1' (с использованием пароля: ДА)

Обычно это означает, что пароль был неправильным, но, очевидно, это не так, поскольку он все время использует один и тот же пароль и пароль для всех вызовов. Это как если бы система каким-то образом "ушла спать" или, возможно, файл-дескриптор где-то застрял, так что первая попытка подключения к базе данных не удалась, но все остальное отлично работает. Также это случается только иногда, поэтому я не могу воспроизвести его - очень странно!

Я использую Asterisk 1.8.32 с MySQL 5.5 на Debian 8.7.

Это немного голова, поэтому я был бы благодарен за любые предложения!

Теги:
asterisk
debian
database-connection

1 ответ

0

Прежде всего, это очень плохая идея использовать 1,8. * Дерево в настоящий момент из-за функции безопасности.

Перейдите к 11. * исправьте эту проблему.

Также вы можете сделать следующее в my.cnf

 interactive_timeout=

Установите любое значение более 4 дней (выходные)

Другой вариант - перезагрузить модуль mysql crontab каждые 3 часа.

Лучшим вариантом (кроме обновления) является переход от mysql к res_odbc, у которого есть опция keepalive. res_config_mysql считается устаревшим, поэтому любые новые системы должны использовать ODBC.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню