【发布时间】:2012-05-28 21:30:15
【问题描述】:
我有一个数据库设置非远程服务器。
我想要做的是使用 PHP 建立连接。
服务器上的所有设置都正常,因为我使用 MySQL 工作台使用以下详细信息对其进行了测试: 主机名:xxx.xx.xx.xxx 端口 - 空白,默认为:3306
在工作台的高级选项卡中选择了“如果可用,请使用 SSL”。连接测试成功。
虽然当我尝试使用简单的 mysq_connect('IP','user','pass') 进行连接时,我收到以下错误: 第 2 行:$c = mysql_connect('IP','USER','PASS');
警告:mysql_connect() [function.mysql-connect]: 过早结束 C:\wamp\www\sql\index.php 中的数据(mysqlnd_wireprotocol.c:553)在线
警告:mysql_connect() [function.mysql-connect]:OK 数据包比预期的短 1 个字节>在第 2 行的 C:\wamp\www\sql\index.php 中
警告:mysql_connect() [function.mysql-connect]:mysqlnd 无法使用旧的不安全身份验证连接到 MySQL 4.1+。请使用管理工具通过命令 SET PASSWORD = PASSWORD('your_existing_password') 重置密码。这将在 mysql.user 中存储一个新的、更安全的哈希值。如果此用户在 PHP 5.2 或更早版本执行的其他脚本中使用,您可能需要从第 2 行 C:\wamp\www\sql\index.php 中的 my.cnf 文件中删除 old-passwords 标志
我试图建立这种连接已经有好几天了。请帮忙!
【问题讨论】:
-
您是否按照底部的说明重设了密码?
-
不,我没有,但为什么要使用 MySQL 工作台连接?
-
Dom,即使您的 mysql 和 PHP 存在版本不兼容,也可能导致此错误。您使用的是哪个版本?
标签: php mysql ssl mysql-connect