无法从php

时间:2016-04-27 09:40:26

标签: php mysql

 <?php
 $servername = "192.168.179.130";
 $username = "root";
 $password = "";
 $dbname = "rawcdr";
 // Create connection
 $conn = new mysqli($servername, $username, $password, $dbname);
 if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
 } 

上面的代码给出了警告警告:mysqli :: mysqli():( HY000 / 2002)连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接主机发生故障而建立连接失败回复。在第59行的C:\ xampp \ htdocs \ new_table \ index.php中。

主机是另一台服务器(CentOS 7),我检查了它的覆盖能力。 我还通过以下方式在mysql服务器中提供了特权:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.%' IDENTIFIED BY PASSWORD '';

还通过以下方式启动了防火墙服务:

service firewalld start

通过以下命令检查端口3306是否已打开:

netstat -nlp | grep 3306

2 个答案:

答案 0 :(得分:0)

当然首先要检查的是远程计算机上的防火墙没有阻止端口3306上的访问。

<强>可是:

默认情况下,MYSQL服务器上的root用户帐户已配置,因此该帐户只能在运行MySQL Server实例的计算机上使用。因此,默认情况下,您无法使用root远程访问服务器。

就是这样。它是SuperUser帐户的全部。

EG

`root`@`localhost`

因此,您必须在远程MYSQL Server实例上创建一个新用户,该用户可以从任何远程主机危险或特定远程主机(您的PC的IP地址)进行连接。此新帐户也应设置为允许访问您尝试访问的数据库所需的权限。

CREATE USER 'ayax'@'192.168.1.200' IDENTIFIED BY 'new_password' 

或者如果它的5.7服务器不要忘记新密码过期

CREATE USER 'ayax'@'your-ip-address' IDENTIFIED BY 'new_password' 
    PASSWORD EXPIRE NEVER;

如果您的IP地址是由DHCP服务器分配的,并且可以每天更改,那么这样会更灵活

CREATE USER 'ayax'@'192.168.1.%' IDENTIFIED BY 'new_password' 

答案 1 :(得分:-2)

试试这个:

$conn = mysqli_connect('192.168.179.130', 'my_user', 'my_password', 'my_db');

if (!$conn) {
  die('Connect Error (' . mysqli_connect_errno() . ') '
          . mysqli_connect_error());
}