У меня небольшая проблема с 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();
?>