Cakephp mysql与远程数据库连接错误

Posted

技术标签:

【中文标题】Cakephp mysql与远程数据库连接错误【英文标题】:Cakephp mysql connect errors with remote database 【发布时间】:2011-11-24 19:25:27 【问题描述】:

刚刚制作了一个应用程序并在我的蛋糕主页上找到了它

警告(2):mysql_connect() [function.mysql-connect]: 过早结束 数据(mysqlnd_wireprotocol.c:554) [CORE\cake\libs\model\datasources\dbo\dbo_mysql.php,第 561 行]

警告(2): mysql_connect() [function.mysql-connect]: OK packet 1 比预期短的字节 [CORE\cake\libs\model\datasources\dbo\dbo_mysql.php,第 561 行]

警告(2): mysql_connect() [function.mysql-connect]: mysqlnd 不能 使用旧的不安全身份验证连接到 MySQL 4.1+。请 使用管理工具通过命令 SET 重置密码 密码 = 密码('your_existing_password')。这将存储一个新的, mysql.user 中更安全的哈希值。如果该用户用于 PHP 5.2 或更早版本执行的其他脚本,您可能需要删除 my.cnf 文件中的旧密码标志 [CORE\cake\libs\model\datasources\dbo\dbo_mysql.php,第 561 行]

Cake 无法连接到数据库。

这个问题只在连接到远程数据库时出现,连接到本地数据库没有问题。

【问题讨论】:

【参考方案1】:

http://dev.mysql.com/doc/refman/5.1/en/old-client.html

数据库正在为 mysql_connect 尝试登录的用户使用旧式密码哈希。您正在运行的 php 中的 mysql 驱动程序与旧式密码哈希不兼容。正如它所说,它希望您使用新型哈希重新生成密码。

这个问题实际上与 cakephp 无关,而与 PDO 及其 mysql 驱动程序有关。

【讨论】:

以上是关于Cakephp mysql与远程数据库连接错误的主要内容,如果未能解决你的问题,请参考以下文章

CakePHP问题:无法连接数据库,可能是什么原因?

使用 JDBC 将 Java 代码与远程 MySQL 数据库连接 [重复]

数据库错误 Cakephp

Navicat for mysql 远程连接 mySql数据库100611045错误

连接远程 mysql 数据库,收到错误“无法连接到任何指定的 MySQL 主机”

怎么解决mysql不允许远程连接的错误