【发布时间】:2018-03-24 03:36:10
【问题描述】:
我正在使用 WAMP 在 Windows Server 2016 上运行一个网站。该站点有一个 mysql 数据库,我添加了带有密码的用户并给出了静态 IP 和 %
每次我尝试使用 php 字符串进行连接时,我都会收到如下错误
警告:mysql_connect():无法连接到 MySQL 服务器 '...' (13) 无法连接
当我使用 MySQL Workbench 时,我可以毫无问题地登录 MySQL 数据库
我目前正在使用以下代码
$host="***.***.***.***"; // Host IP Address I even tried it by :3306 port after IP
$username="***"; // Mysql username
$password="***"; // Mysql password
$db_name="gs"; // Database name
// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
我也在 phpmyadmin.conf 文件中添加了以下内容
Directory "c:/wamp/apps/phpmyadmin4.0.4/">
Options Indexes FollowSymLinks ExecCGI
AllowOverride all
Order Allow,Deny
Allow from all
Allow from 0.0.0.0
Allow from 127.0.0.1
拒绝我访问任何建议将不胜感激
我也使用过 mysqli,这是我收到的错误,这是我的代码
$servername = "154.0.***.***";
$username = "***";
$password = "***";
$port = "3306";
// Create connection
$conn = new mysqli($servername, $username, $password, $port);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
警告:mysqli::mysqli(): (HY000/2002): Permission denied in /home/www/e-track.biz 第 30 行连接失败:权限被拒绝
第 30 行是
$conn = new mysqli($servername, $username, $password, $port);
【问题讨论】:
-
您的 MySQL 用户是否允许从本地主机外部运行?
-
你的mysql服务器上的mysql命令
SHOW GRANTS $username是什么意思? -
用户名中包含 %,我也尝试将外部服务器 IP 设为允许
-
我会说防火墙问题,但似乎 MySQL 响应并且只是说不允许您的用户...用户的密码是否正确(我确定您已经检查过但是。 ..)
-
我已关闭防火墙,允许3306端口用户名正确密码正确