Здравствуйте.
mysql 5.7.29
На root установлен пароль.
Привелегии:
mysql> SHOW GRANTS FOR 'root'@'localhost';
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> SHOW GRANTS FOR 'root'@'%';
+-------------------------------------------------------------+
| Grants for root@% |
+-------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION |
+-------------------------------------------------------------+
1 row in set (0.00 sec)
Из консоли linux пускает с любым паролем, даже с пустым
mysql --host=localhost --user=root --password=qwe1
mysql --host=localhost --user=root -p
На запрос «show databases;» показывает все базы данных.
Но выполнение вот такого скрипта
<?php
$link = mysqli_connect("localhost", "root", "");
if (!$link) {
echo "Ошибка: Невозможно установить соединение с MySQL." . PHP_EOL;
echo "Код ошибки errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Текст ошибки error: " . mysqli_connect_error() . PHP_EOL;
exit;
}
$query = mysqli_query($link, "show databases;");
if(mysqli_num_rows($query) > 0)
{
$data = mysqli_fetch_assoc($query);
print_r($data);
}
else {
echo "empty";
}
выдаёт только базу information_schema, тоже с любыми паролями.
php sql.php
Array
(
[Database] => information_schema
)
Из браузера через phpMyAdmin и adminer не авторизует root пользователя вообще, даже с паролем.
Подскажите пожалуйста, как исправить?