понедельник, 1 сентября 2014 г.

Немного подробностей о работе access check в MySQL

Если вы создали в MySQL пользователя someuser@'%' и не можете взять в толк, почему его не пускает с localhost, то вам по этой ссылке.

Более подробно вопрос раскрыт в официальной документации MySQL.

Чтобы продебажить приоритет в котором выдается доступ, нужно выполнить следующий запрос

SELECT Host,User FROM mysql.user ORDER BY Host DESC, User DESC;

В результате вы получите что-то вроде такой выборки

+-------------+-----------------+
| Host        | User            |
+-------------+-----------------+
| mysql55.lan | root            |
| mysql55.lan |                 |
| localhost   | root            |
| localhost   |                 |
| ::1         | root            |
| 127.0.0.1   | root            |
| %           | someuser        |
+-------------+-----------------+

При таком раскладе берется первое совпадение - Host="localhost", User="" (пустое поле User означает любого пользователя) и следовательно до обработки someuser дело не доходит.

Комментариев нет:

Отправить комментарий