2011-09-25 27 views
0

刚出炉的应用程序,并得到这个在我的蛋糕主页CakePHP的mysql的远程连接数据库的错误

警告(2):mysql_connect()函数[function.mysql-连接]:数据过早结束 (mysqlnd_wireprotocol .C:554) [CORE \蛋糕\库\模型\数据源\ DBO \ dbo_mysql.php,线561]

警告(2):mysql_connect()函数[function.mysql-连接]:OK分组1 比预期短的字节 [CORE \ cake \ libs \ model \ datasources \ dbo \ dbo_mysql.php,line 561]

警告(2):mysql_connect()函数[function.mysql-连接]:mysqlnd不能 连接到MySQL 4.1+使用旧的不安全的验证。请使用管理工具 使用命令SET PASSWORD = PASSWORD('your_existing_password')重置密码。这将在mysql.user中存储一个新的, 和更安全的散列值。如果该用户在通过PHP 5.2执行 其他脚本中使用或更早,你可能需要从你的my.cnf文件 删除 的旧密码标志[CORE \蛋糕\库\型号\数据源\ DBO \ dbo_mysql.php, line 561]

Cake不能连接到数据库。只有在连接到远程数据库时,连接到本地主机数据库让我没有任何问题发生

此问题。

回答

0

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

数据库采用密码哈希的旧式针对的mysql_connect试图与登录用户。你正在运行的php中的mysql驱动与旧式的密码哈希不兼容。正如它所说的那样,它希望您使用新式哈希重新生成密码。

这个问题是不是真的与CakePHP的,而是PDO和MySQL驱动程序。