CakePHP: Соединение с базой данных «Mysql» отсутствует или не может быть создано - PullRequest
0 голосов
/ 24 сентября 2018

Из ниоткуда я получаю следующую ошибку при попытке подключиться к моему устаревшему приложению CakePHP:

Fatal error: Uncaught exception 'MissingConnectionException' with message 'Database connection "Mysql" is missing, or could not be created.' 
in /myapproot/lib/Cake/Model/Datasource/DboSource.php:239 
Stack trace: #0 /myapproot/lib/Cake/Model/ConnectionManager.php(101):
DboSource->__construct(Array) #1 /myapproot/lib/Cake/Model/Model.php(3260):
ConnectionManager::getDataSource('default') #2 
/myapproot/lib/Cake/Model/Model.php(1223): Model->getDataSource() #3 
/myapproot/lib/Cake/Model/Model.php(1396): Model->schema() #4 
/myapproot/app/Lib/Log/Engine/DatabaseLogger.php(14): Model->create() #5 
/myapproot/lib/Cake/Log/CakeLog.php(204): DatabaseLogger->write('error', 
'[MissingConnect...') #6 /myapproot/lib/Cake/Error/ErrorHandler.php(118): 
CakeLog::write(3, '[MissingConnect...') #7 [internal function]: 
ErrorHandler::handleException(Object(M 
in /myapproot/lib/Cake/Model/Datasource/DboSource.php on line 239

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

Вот соответствующая часть моего файла database.php.Опять же, ничего из этого не изменилось за последние несколько дней:

public $default = array(
            'datasource' => 'Database/Mysql',
            'persistent' => false,
            'host' => 'localhost',
            'login' => 'user',
            'password' => 'pass',
            'database' => 'nc_live2',
            'prefix' => '',
            //'encoding' => 'utf8',
    );
}

Я попытался указать unix_socket в database.php, но безрезультатно.Я также попытался изменить 'localhost' на '127.0.0.1.'Нет радостиНичего не меняется при указании порта.

Я совершенно сбит с толку относительно того, почему эта проблема внезапно проявляется.

Я запускаю CakePHP 2.8 на CentOS 7, полностью исправлен.MariaDB версия 10.0.36

ОБНОВЛЕНИЕ: Вот некоторые выходные данные netstat, показывающие, что mysqld прослушивает только соединения IPV6:

tcp6       0      0 :::3306                 :::*                    LISTEN      2108/mysqld

Все еще не радует даже после ручной установки привязки 0.0.0.0,Это прослушало 3306 на IPV4, но это не решило мою проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...