2013-10-08 3 views
0

В чем разница между *, %, Any в полях имени пользователя/хоста при предоставлении разрешений пользователю и как их комбинация отличается?Разница между подстановочными знаками MySQL для предоставления разрешений

Например:

GRANT ALL PRIVILEGES ON db.* TO '*'@'Any'; 

это было бы так же, как

GRANT ALL PRIVILEGES ON db.* TO 'Any'@'%'; 

EDIT: The Any поле я думал исходит от PhpMyAdmin. Возможно, это означает что-то другое? Я проиллюстрировал скриншот ниже, чтобы проиллюстрировать, что я имею в виду.

User permissions in phpMyAdmin

ответ

1

Слово "любой" не имеет особого смысла.

MySQL не поддерживает подстановочные знаки в имени пользователя, поэтому первый пример является незаконным. Чтобы предоставить привилегии анонимного пользователя от хоста называется any использование:

GRANT ALL PRIVILEGES ON db.* TO ''@'Any'; 

Второй пример является законным, но он дает привилегии пользователю под названием «любой», кто может подключиться с любого хоста.

+0

Спасибо за ответ. Поле 'Any' происходит, по-видимому, из phpMyAdmin, и я обновил свой ответ, чтобы проиллюстрировать конкретные примеры, которые мне нужно понять. – xiankai

 Смежные вопросы

  • Нет связанных вопросов^_^