php mysqli クラスを使用して mysql データベースに接続しようとすると、このエラーが発生します。次のコードを使用します。
$db = new MySQLi("localhost","kamil","*****");
if (mysqli_connect_errno())
{
echo "An error occured. Please try again later.";
exit();
}
パスワードはセキュリティのため * です。
kamil
外部 IP アドレスとローカルホストに対するすべての権限を持つユーザーを作成しました。実行するselect user,host from mysql.user
と、これら2人のユーザーが正しく表示されます。
私はいくつかの調査を行い、このベンチマークを使用しました: https://stackoverflow.com/a/2183134/1839439接続先を確認します。結局のところ、接続できるのはローカルホストのみですが、提供する127.0.0.1
とこのエラーがスローされます。127.0.0.1:3306
localhost
私の質問は、名前や外部 IP ではなく、localhost IP アドレスを使用してのみ DB に接続できるのはなぜですか。Web サイトで 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 |