来自远程系统的php中的XAMPP Mysql连接错误

时间:2015-11-20 12:50:21

标签: php mysql mysqli phpmyadmin xampp

我有Windows 7系统并在其中安装了xampp。

我可以使用来自远程系统的http://ipaddress:8080/phpmyadmin访问phpmyadmin。

但如果我尝试从php访问它,它会给我错误:

  

警告:mysqli :: mysqli():( HY000 / 2013):在“读取初始通信数据包”时失去与MySQL服务器的连接,系统错误:20

我的php代码

define("HOST", "X.X.X.X");
define("PORT", "port");     // The host you want to connect to.
define("USER", "user");    // The database username. 
define("PASSWORD", "password");    // The database password. 
define("DATABASE", "DBname");    // The database name.

$mysqli =  new mysqli(HOST, USER, PASSWORD, DATABASE, PORT); 
// or without port $mysqli =  new mysqli(HOST, USER, PASSWORD, DATABASE); 

if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    exit();
}

我也试过防火墙关闭,并且还允许端口3306到防火墙,但没有运气。授予该用户所有使用host(%)的所有PRIVILEGES。

我也尝试过使用bind_address = 0.0.0.0,注释该行,以及bind_address = X.X.X.X(我的IP)。

还尝试将套接字类型从“MySQL”更改为“TCP / IP”。 skip-networking line也是默认注释。

我尝试使用以下命令从命令提示符访问:

mysql -h X.X.X.X -u root -p

这会产生错误:

  

警告:mysqli :: mysqli():( HY000 / 2003):无法连接到'X.X.X.X'(110)上的MySQL服务器。

在连接字符串中的同一系统中使用localhost可以正常工作。

我错了,我无法弄明白。我搜索并尝试了所有可能的解决方案。 谢谢你的帮助。

注意:现在我的conf文件与安装时相同,而不是上面。请不要将此问题标记为重复。

编辑:@Jay Blanchard,因为我也提到了那个解决方案,在那种情况下系统错误:0,在我的情况下系统错误:20。感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我的研究表明,sql上的错误20表示它是从未授予系统管理员权限的用户运行的。这限制了sql server的功能。解决此问题的方法是确保正在运行服务器的用户具有管理员权限。这可以在具有管理员权限的Windows用户的控制面板中完成。