使用PHP的MySQL数据库SSL连接

时间:2012-05-22 11:34:05

标签: php mysql ssl mysql-connect

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

我想要做的是使用PHP建立连接。

服务器上的所有设置都没问题,因为我使用MySQL工作台使用以下详细信息测试它: 主机名:xxx.xx.xx.xxx端口 - 空白,因此defalut为:3306

在工作台的高级选项卡中,选择“使用SSL(如果可用)”。连接测试成功。

虽然当我尝试使用简单的mysq_connect('IP','user','pass')进行连接时,我遇到以下错误: 第2行:$ c = mysql_connect('IP','USER','PASS');

  

警告:mysql_connect()[function.mysql-connect]:过早结束   数据(mysqlnd_wireprotocol.c:553)在C:\ wamp \ www \ sql \ index.php的行上

     

警告:mysql_connect()[function.mysql-connect]:第2行的C:\ wamp \ www \ sql \ index.php中的数据包比预期的短1个字节>

     

警告: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文件中删除旧密码标记

现在我正试图建立这种联系。请帮忙!

3 个答案:

答案 0 :(得分:1)

尝试..

mysql_connect('IP','USER','PASS', false, MYSQL_CLIENT_SSL);

答案 1 :(得分:0)

快速指南:

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

答案 2 :(得分:0)

这里你是php manual mysql connect

查看客户端标记