Проблема с разрешениями MariaDB - [Предупреждение] Доступ запрещен для пользователя 'rphsp'@'raspberrypi.lan' - PullRequest
1 голос
/ 11 апреля 2020

У меня небольшая проблема с MariaDB, на которой я работаю. Я пытаюсь подключиться к базе данных со страницы PHP, работающей на клиентском устройстве, но получаю сообщение об ошибке: [Warning] Access denied for user 'rphsp'@'raspberrypi.lan' (using password: YES). Я дважды проверил свои гранты и код PHP и даже безуспешно пытался создать пользователей MariaDB 'rphsp'@'raspberrypi.lan' и 'rphsp'@'%'. Что-то не так с тем, как я определил пользователя "rphsp" MariaDB? Я могу читать и записывать в ту же базу данных с этим пользователем в сценарии Python, работающем на том же клиентском устройстве, что и страница PHP.

Я включил всю информацию, которую мог думаю включить ниже, но, пожалуйста, дайте мне знать, если что-нибудь еще будет полезно. Любые идеи или рекомендации приветствуются, и, пожалуйста, дайте мне знать, если у вас есть какие-либо вопросы. Заранее спасибо!

  • Клиент: raspberrypi.lan (192.168.1.125)
  • MariaDB Сервер: piserver.lan (192.168.1.250)
select host, user, password from mysql.user;
+---------------------------+-------+----------+
| host                      | user  | password |
+---------------------------+-------+----------+
| localhost                 | root  |          |
| localhost                 | pi    |          |
| 192.168.1.0/255.255.255.0 | rphsp |          |
+---------------------------+-------+----------+
show grants for rphsp@'192.168.1.0/255.255.255.0';
+--------------------------------------------------------------------------+
| Grants for rphsp@192.168.1.0/255.255.255.0                               |
+--------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'rphsp'@'192.168.1.0/255.255.255.0'                |
| GRANT ALL PRIVILEGES ON `rphsp`.* TO 'rphsp'@'192.168.1.0/255.255.255.0' |
+--------------------------------------------------------------------------+
<?php
  echo "Content from MariaDB";
  echo "<br>";

  $servername = "piserver.lan";
  $username = "rphsp";
  $database = "rphsp";

  // Create connection
  $conn = new mysqli($servername, $username, $database);

  // Check connection
  if ($conn->connect_error) {
      die("Connection failed: " . $conn->connect_error);
  }
  echo "Connected successfully";
  echo "<br>";

  $sql = "SELECT * from sensors";
  $result = $conn->query($sql);

  $conn->close();
?>
...