Ошибка доступа запрещена при использовании PHP для подключения к базе данных в CentOS 7 - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь подключиться к удаленной базе данных MySQL по адресу 192.168.43.198.Я использую CentOS 7 на обоих узлах.Моя установка выглядит следующим образом:

Узел базы данных

IP: 192.168.43.198/24

установили необходимые пакеты для БД MySQL

Включены необходимые службы и порты в брандмауэре

Клиентский узел

IP: 192.168.122.73/24

Настроен для размещенияВеб-сайт.Установлены httpd, mysql и зависимости.

Включены необходимые службы и порты в брандмауэре

Я включил удаленный вход из команды mysql_secure_installation и запустил несколько запросов в mysql, которые предоставляют каждому пользователю каждое разрешение

grant usage on *.* to DBuser@'%' identified by '123456789';
grant all privileges on *.* to DBuser@'%' identified by '123456789';
flush privileges;

в клиентском узле, когда я запускаю команду

mysql -h 192.168.42.198 -u DBuser -p
Enter password: 123456789

, я могу получить доступ к базе данных.

Но мой клиентский узел также является веб-сервером, и когда я пытаюсь подключиться к базе данныхиспользуя php, он дает разрешение на отказ

/ var / www / html / index.html file

<html>
 <head>
  <title>Node 01</title>
 </head>
 <body>
  <form action="index.php" method="get">
    <input type="submit" value="Open DB">
  </form>

 </body>
</html>

У меня есть только одна кнопка, которая указывает наФайл index.php.

/ var / www / html / index.php file

$link = mysqli_connect("192.168.43.198", "DBuser", "123456789","demo");

// Check connection
if($link === false){
    die("ERROR: Could not connect. " . mysqli_connect_error());
}


echo 'Connected to the database.<br>';

Демонстрация базы данных существует, и я могу управлять ей через командную строку, как указановыше, и он работает нормально, но когда я нажимаю на кнопку в HTML, я получаю сообщение об ошибке «ACCESS DENIED»

ERROR: Could not connect. Permission denied

Я использую php 7.0 в клиентском узле, вот пакеты, которые я установил, чтобызаставить работать PHP

# rpm -qa | grep -i php
php-pdo-5.4.16-46.el7.x86_64
php-mcrypt-5.4.16-7.el7.x86_64
php-mysql-5.4.16-46.el7.x86_64
php-gd-5.4.16-46.el7.x86_64
php-ldap-5.4.16-46.el7.x86_64
php-5.4.16-46.el7.x86_64
php-common-5.4.16-46.el7.x86_64
php-cli-5.4.16-46.el7.x86_64
...