【问题标题】:How can I established connection to MySql Server?如何建立与 MySql Server 的连接?
【发布时间】:2012-06-02 04:31:42
【问题描述】:

我想与 MySql 服务器建立连接。

我的 PHP 代码是:

<?php
$dbhost = 'testhost.com';
$dbuser = 'testuser';
$dbpass = 'testpass';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die        
('Error connecting to mysql');
$dbname = 'testdb';
mysql_select_db($dbname);
?>

但它显示以下错误:

警告:mysql_connect() [function.mysql-connect]:在“读取初始通信数据包”时丢失与 MySQL 服务器的连接,系统错误:第 6 行 F:\xampp\htdocs\db_connect123.php 中的 0 连接mysql时出错

在这种情况下,我完全感到困惑,因为如果我更改主机名,它在 localhost 中可以正常工作。 请给我一个解决方案,我该如何解决这个问题并连接到 MySql 服务器。

【问题讨论】:

  • 这些是您的真实用户名/密码吗?看起来有点傻你不觉得..
  • “读取初始通信包”指的是无效的主机名。请正确检查主机名。
  • 您的服务器可能不允许远程连接。检查以确保在您的服务器/主机帐户上启用了远程连接。您在使用共享主机吗?
  • 权限。您需要在远程 mysql 框上设置它们,以便网络服务器运行的任何帐户都可以访问。
  • 如果@LawrenceCherone 暗示您刚刚告诉全世界您的用户名和密码,请更改它们。

标签: php mysql


【解决方案1】:

确保 my.ini 不是:

bind-address = 127.0.0.1
port = 3306

应该是:

bind-address = 0.0.0.0
port = 2083

确保您的用户 'carefre2_polash' 在 MySQL 下的 Host 字段为“%”(表示任何主机)。

如果这是在 Windows 上运行的 MySQL,请将本机 Windows 防火墙配置为接受上述端口号上的传入 TCP。

【讨论】:

  • 请告诉我“my.ini”的位置。谢谢。
  • @Polash,我使用 WampDeveloper,但从我对 Xampp 的快速谷歌搜索来看,my.ini 似乎位于文件夹 F:\xampp\mysql\bin\ 中。 P.S.,这假定服务器的 my.ini,而不是本地的 my.ini(如果您连接到不同系统上的 mysql)。
  • 我更改了端口,但 my.ini 文件中没有绑定地址配置。请帮助我。我正在尝试连接到我的托管站点 2 天。但我不能。谢谢
  • @Polash,你本地的 my.ini 是本地 MySQL 实例,它对你服务器的 MySQL 没有影响。您需要编辑服务器的 my.ini。
【解决方案2】:

请使用此代码,它是标准 SQL 连接代码:

$link = mysql_connect('xhost', 'xuser_name', 'xpassword');
if (!$link) {
    die('Connect Error : ' . mysql_error()); 
}
mysql_set_charset('utf8', $link); // Encoding
$db_selected = mysql_selectdb('x_database', $link);
if (!$db_selected) {
    die ('DBselect Error : ' . mysql_error());
}

祝你好运,祝你有美好的一天。

【讨论】:

  • 如果您的主机、用户、密码和数据库选择现在完全没有问题,那么应该没有问题。
  • 嗯,这当然是更好的代码,因为如果可以与服务器建立连接,它会提供更好的消息,但访问数据库的权限被拒绝。怀疑它会帮助 OP 解决他们当前的问题。
  • 您好,Blanktext,我尝试了您的代码格式,但它不起作用。谢谢。
猜你喜欢
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 2014-01-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多