0

我有一个数据库设置非远程服务器。

我想要做的是使用 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 标志

现在是我试图建立这种联系的日子。请帮忙!

4

3 回答 3

1

尝试..

mysql_connect('IP','USER','PASS', false, MYSQL_CLIENT_SSL);
于 2012-05-22T11:41:51.933 回答
0

快速指南:

  1. 打开服务器的my.cnf(通常在/etc
  2. 注释掉old-passwords = 1
  3. 重启 MySQL
  4. mysql_fix_privilege_tables必要时运行
  5. 使用该mysqlclient实用程序进行连接root
  6. use mysql
  7. update user set password=password('new password') where user='the user'

然后再试一次

于 2012-05-22T11:41:54.167 回答
0

在这里你是php 手册 mysql 连接

查看客户端标志

于 2012-05-22T11:44:45.757 回答