показване на влизания към сървъра (обърнете внимание, че %
означава произволен хост или заместващ знак)
select user,host from mysql.user;
+-----------+------------+
| user | host |
+-----------+------------+
| ajax_guy | % |
| joe7 | % |
| joe8 | % |
+-----------+------------+
покажете какви грантове съществуват за определен потребител.
show grants for 'ajax_guy'@'%';
+----------------------------------------------------------------------
| Grants for [email protected]%
+----------------------------------------------------------------------
| GRANT USAGE ON *.* TO 'ajax_guy'@'%' IDENTIFIED BY PASSWORD ...
| GRANT ALL PRIVILEGES ON `ajax_stuff`.* TO 'ajax_guy'@'%'
| GRANT ALL PRIVILEGES ON `ajax_stuff`.`ajax_stuff` TO 'ajax_guy'@'%'
+----------------------------------------------------------------------
Как да предоставим достъп до определен db за определен вход. По-долу предоставяме всички права на потребителя върху so_gibberish
база данни .
grant ALL on so_gibberish.* to 'ajax_guy'@'%';
Вижте действащите безвъзмездни средства сега за това влизане
+----------------------------------------------------------------------
| Grants for [email protected]%
+----------------------------------------------------------------------
| GRANT USAGE ON *.* TO 'ajax_guy'@'%' IDENTIFIED BY PASSWORD ...
| GRANT ALL PRIVILEGES ON `ajax_stuff`.* TO 'ajax_guy'@'%'
| GRANT ALL PRIVILEGES ON `so_gibberish`.* TO 'ajax_guy'@'%'
| GRANT ALL PRIVILEGES ON `ajax_stuff`.`ajax_stuff` TO 'ajax_guy'@'%'
+----------------------------------------------------------------------
Създайте нов вход drew_saturday
с парола friday987
.Има всички привилегии вбаза данни so_gibberish
и може да влезете от всеки хост (%
)
grant ALL on so_gibberish.* to 'drew_saturday'@'%' IDENTIFIED BY 'friday987';
select user,host,password from mysql.user where user='drew_saturday';
+---------------+------+-------------------------------------------+
| user | host | password |
+---------------+------+-------------------------------------------+
| drew_saturday | % | *4600ED0F377308959665877BD327D4788DC2071F |
+---------------+------+-------------------------------------------+
Тази парола по-горе е хешираната парола между другото.
Забележка:за MySQL 5.7 командата по-горе ще бъде:
select user,host,authentication_string from mysql.user where user='drew_saturday';
Страница с ръководство на Mysql на Grant
. Не предоставяйте прекомерни права на потребители, използващи grant ALL on *. ...
. Това би било за всички база данни в системата. Просто прочетете ръководството и по-малкото е повече.
Понякога администраторите искат да предоставят достъп само на шепа таблици в база данни (не всички таблици в нея) за вход. Ръководството е задължително да прочетете за това.
И едно последно нещо. 'drew_saturday'@'%' е различен вход от 'drew_saturday'@'NOT-local' (взаимстван от вашето заглавие). Това са различни входове с различни права. Това е смисълът на първото нещо, което написах горе.