cakephp:缺少或无法创建数据库连接“mysql”

kzmpq1sx  于 2021-06-18  发布在  Mysql
关注(0)|答案(0)|浏览(199)

在尝试连接到旧版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,没什么乐趣。当我指定端口时,也没有任何变化。
我完全搞不懂为什么这个问题突然出现了。
我在centos 7上运行cakephp 2.8,完全修补。mariadb版本10.0.36
更新:以下是一些netstat输出,显示mysqld只监听ipv6连接:

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

即使手动将bind设置为0.0.0.0,仍然没有乐趣。这使得3306在ipv4上监听,但这并没有解决我的问题。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题