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与远程数据库连接错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 JDBC 将 Java 代码与远程 MySQL 数据库连接 [重复]
Navicat for mysql 远程连接 mySql数据库100611045错误