当我尝试使用 php mysqli 类连接到 mysql 数据库时出现此错误。使用以下代码:
$db = new MySQLi("localhost","kamil","*****");
if (mysqli_connect_errno())
{
echo "An error occured. Please try again later.";
exit();
}
密码为 * 以确保安全。
我已经创建kamil
了对外部 IP 地址和 localhost 具有所有权限的用户。当我运行时:select user,host from mysql.user
它正确显示这两个用户。
我做了一些研究并使用了这个基准:https ://stackoverflow.com/a/2183134/1839439来查看它连接到什么。事实证明,它只能连接到127.0.0.1
本地127.0.0.1:3306
主机,但是当我提供localhost
它时,它会抛出这个错误。
我的问题是为什么它只允许我使用 localhost ip 地址而不是名称或外部 ip 连接到数据库。如果我想在网站上使用 mysql 或者如果我可以使用,我需要不同的主机127.0.0.1
吗?
编辑:
hosts
文件
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.1.1 raspberrypi
该用户的Mysql用户表结果:
| kamil | 109.255.177.28 |
| kamil | localhost |