Я получаю эту ошибку, когда пытаюсь подключиться к базе данных mysql, используя php mysqli class. Используя следующий код:
$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
он правильно отображает этих двух пользователей.
Я провел некоторое исследование и использовал этот тест: qaru.site/info/131950/..., чтобы узнать, к чему он подключается. Как оказалось, он может подключаться только к 127.0.0.1
и 127.0.0.1:3306
, который является localhost, однако при поставке localhost
он выдает эту ошибку.
Мой вопрос в том, почему это только позволяет мне подключиться к БД, используя адрес localhost ip, а не имя или внешний ip. Нужен ли мне другой хост, если я хочу использовать mysql на веб-сайте, или если я могу использовать 127.0.0.1
?
EDIT: 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 |