当我尝试使用php mysqli类连接到mysql数据库时,我收到此错误.使用以下代码:
$db = new MySQLi("localhost","kamil","*****");
if (mysqli_connect_errno())
{
echo "An error occured. Please try again later.";
exit();
}
Run Code Online (Sandbox Code Playgroud)
密码为*表示安全性.
我创建了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它抛出了这个错误.
我的问题是为什么它只允许我使用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
Run Code Online (Sandbox Code Playgroud)
| kamil | 109.255.177.28 |
| kamil | localhost |
Run Code Online (Sandbox Code Playgroud)