<?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
答案 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());
}