【问题标题】:Cakephp mysql connect errors with remote databaseCakephp mysql与远程数据库连接错误
【发布时间】: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 无法连接到数据库。

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

【问题讨论】:

    标签: php mysql database cakephp


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-06
      • 2018-11-06
      • 1970-01-01
      相关资源
      最近更新 更多