Я пытаюсь создать простое веб-приложение, которое выводит информацию о базе данных из MariaDB / MySQL с использованием PHP, я еще не на этом этапе ... У меня проблемы при подключении к базе данных и появляется следующая ошибка:

Хосту '10 .155.237.62 'не разрешено подключаться к этому серверу MariaDB

Теперь я не выполнял безопасную установку, поэтому мой сервер Mariadb разрешает доступ с хоста с подстановочными знаками и влияет на любой хост. Я также пробовал код с учетной записью root, но получил ту же ошибку. Может ли кто-нибудь сказать мне, является ли это моим кодом или это процедура, о которой я не знаю, которая запрещает соединителям доступ к информации?

Вот мой код:

<?php
$con=mysqli_connect("vm-007.server.com","testuser","testpass","my_db");
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MariaDB: " . mysqli_connect_error();
  }
?>

Заранее спасибо!

2
stark 26 Мар 2014 в 21:43

3 ответа

Лучший ответ

Я бы проверил доступ к вашей базе данных mysql из командной строки с удаленного компьютера

Mysql -h vm-007.server.com -u testuser my_db -p

Он попросит у вас пароль и введите его.

Если это не удается, вы, вероятно, имеете дело с проблемой установки mysql.

Скорее всего, вы имеете дело с чем-то вроде демона mysql, который слушает только интерфейс localhost, то есть 127.0.0.1. Даже если он разрешает доступ с любого хоста, если он не слушает заданный интерфейс, такой как eth0, это не имеет значения.

2
dboals 26 Мар 2014 в 21:56
Интересно. Я сделал, как вы сказали, и получил сообщение об ошибке «ОШИБКА 1045 (28000): доступ запрещен для пользователя «testuser» @ «vm-007.sever.com» (используя пароль: ДА)». Не могу понять, что пошло не так в моей настройке. Спасибо за ответ кстати.
 – 
stark
26 Мар 2014 в 22:02
У меня была такая же проблема в прошлом. Пользователю должны быть предоставлены права доступа к базе данных. У вас установлен phpmyadmin? это сэкономит вам много горя, если вы установите это и заставите его работать. Вы можете изменить привилегии пользователя изнутри. Гораздо проще, чем из командной строки.
 – 
dboals
26 Мар 2014 в 22:06
По-прежнему не работает со всеми грантами, предоставленными пользователю. Это должно быть на стороне сервера?
 – 
stark
26 Мар 2014 в 22:38
«local» На сервере войдите через «mysql», затем введите «use mysql; select * from user;» убедитесь, что пользователь присутствует в таблице, иначе вы не сможете получить доступ через любой хост, кроме локального хоста. вам может потребоваться снова добавить «пользователя». В качестве дополнительного вопроса: веб-сервер (сервер php) и сервер mysql - это одно и то же. Вы можете изменить хост на «localhost», если это так.
 – 
dboals
26 Мар 2014 в 22:45

Если вы не создали базу данных, сделайте это из командной строки:

CREATE DATABASE blobblablob;

Теперь используйте ключевое слово USE для этого имени следующим образом:

USE blobblablob;

Теперь разрешите себе использовать вашу базу данных:

GRANT ALL ON 'blobblablob' TO 'me'@'localhost' IDENTIFIED BY 'mypassword';

Не забывайте заканчивать все свои утверждения точкой с запятой ;. Теперь выйдите из командной строки, набрав exit. Вы можете проверить в браузере свои PHP-скрипты. Они должны начать работать с этой базой данных сейчас поскольку у вас есть разрешения пользователя controluser.

0
Pang 6 Мар 2017 в 05:56

Перейдите в учетную запись пользователя-> добавьте учетную запись пользователя-> создайте учетную запись с именем пользователя и паролем ... пусть имя хоста будет% ... нажмите ОК

Щелкните привилегии для созданного пользователя и предоставьте глобальное разрешение.

Затем измените имя локального хоста ur как ip: 192.168.3.2 и имя пользователя как newcreatedusername и пароль .... сохраните его.

Откройте свое приложение из любой другой удаленной системы вместе с ip: port --- 192.168.1.2:9090/dashboard/working-files/welcome.php------- нажмите ввод

0
shahid 28 Янв 2018 в 11:34