【发布时间】:2018-12-18 06:59:37
【问题描述】:
我正在构建一个 android 应用程序,并希望使用 mysql 将用户凭据存储在表中。我在其他地方有一台服务器,并根据需要创建了表并配置了所有内容。
这里是连接mysql数据库的php文件:
<?php
$db_name="mydbname";
$mysql_user="root";
$mysql_pass="mypassword";
$server_name="localhost";
$con=mysqli_connect($server_name, $mysql_user, $mysql_user, $db_name);
if(!$con){
echo "Connection error...".mysqli_connect_error();
}
else{
echo "Successful";
}
?>
当我在家中的系统上本地执行此操作(当然,进行了必要的更改)时,它可以完美运行并返回“成功”。即使在运行 android 应用程序时,它也会按预期更新表。
但是当我尝试在我的服务器上远程执行上述 php 脚本时,它会说:
“用户'root'@'localhost'的访问被拒绝(使用密码:YES)”
即使我可以在家中的终端上使用 mysql。服务器正在运行 Ubuntu 16.04。
【问题讨论】:
-
localhost 不再是您在远程服务器上的家用计算机......当然这不起作用。您是在尝试连接到您的家庭数据库服务器还是远程服务器的数据库服务器?两者的凭据是否相同?
-
请检查 MySQL 用户名、密码和 IP 地址
-
@Devon 我确实尝试将 localhost 更改为我的服务器的 IP 地址。它给了我同样的错误。难道我做错了什么?我还需要在 server_name 字段中添加其他内容吗?另外,我有两个数据库的凭据。在家庭服务器上工作正常,但拒绝访问远程服务器。