我正在构建一个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";
}
?>
当我在家里的系统上本地执行此操作时(当然,进行了必要的更改),它工作得非常好,并返回“successful”。即使运行android应用程序,它也会按预期更新表。
但当我尝试在服务器上远程执行上述php脚本时,它会说:
“拒绝访问用户‘root’@‘localhost’(使用密码:yes)”
即使我可以在家里的终端上使用mysql。服务器运行的是ubuntu 16.04。
2条答案
按热度按时间new9mtju1#
转到mysql® 数据库,为数据库和用户名创建一个类似的名称。
这样地:
数据库:myhost\u mydbname
用户名:myhost\u mydbname
下一步:在添加用户到数据库[添加按钮]上选择所有权限!然后,试试这个:
我希望这个方法能对你有所帮助!
vhmi4jdf2#
如果你使用的是另一台设备上的应用程序,你不能使用“localhost”作为你的主机。因为localhost指的是您当前所在的主机,在本例中,它将是您的android设备。
如果你和ubuntu服务器在同一个网络上,或者它有一个可公开访问的ip,你可以把它的ip地址作为主机(你可以通过跑步找到答案
ifconfig
在你的ubuntu服务器上)。但我怀疑你的根帐户将可从任何其他地方,但本地主机,所以我建议你创建一个新的用户帐户运行
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';
并使用这些凭据登录。