Основы программирования в Linux - Мэтью Нейл
□ Без параметров она отображает все имеющиеся базы данных.
□ С базой данных в качестве параметра она выводит таблицы этой базы данных.
□ С именами базы данных и таблицы утилита отображает перечень столбцов заданной таблицы.
□ Если заданы база данных, таблица и столбец, утилита выводит подробную информацию о заданном столбце.
Создание пользователей и наделение их правами доступа
В роли администратора MySQL вам чаще всего придется обслуживать пользователей: добавлять, и удалять пользователей СУРБД MySQL и управлять их полномочиями. Начиная с версии MySQL 3.22, правами доступа или полномочиями пользователей управляют в мониторе MySQL с помощью команд
grantrevokeКоманда MySQL
grantgrant <<i>привилегия</i>> on <<i>объект</i>> to <<i>пользователь</i>> [identified by user-password] [with grant option];В табл. 8.6 перечислено несколько значений прав доступа, которые могут быть предоставлены.
Таблица 8.6
| Значение | Описание |
|---|---|
alter | Изменять таблицы и индексы |
create | Создавать базы данных и таблицы |
delete | Удалять данные из базы данных. |
drop | Удалять базы данных и таблицы |
index | Управлять индексами |
insert | Вставлять данные в базу данных |
lock tables | Разрешает блокировать таблицы |
select | Извлекать данные |
update | Изменять данные |
all | Все вышеперечисленные |
У некоторых прав доступа есть дополнительные опции. Например,
create viewОбъект, которому вы предоставляете данные права, обозначается как
databasename.tablenameи в лучших традициях Linux
**.*foo.*fooЕсли заданный пользователь уже существует, права доступа корректируются с учетом вносимых вами изменений. Если такого пользователя нет, он создается с заданными правами доступа. Как вы уже видели, пользователей можно задавать на определенных компьютерах. Пользователя и компьютер следует задавать в одной команде для того, чтобы в полной мере использовать гибкость схемы предоставления прав доступа MySQL.
В синтаксисе языка SQL специальный символ
%*[email protected]'%.wiley.com'Символ подстановки
%Вы также можете применять нотацию IP/Netmask (N.N.N.N/M.M.M.M), задающую сетевой адрес для управления доступом.
Также, как раньше вы использовали описание
[email protected]'192.163.0.0/255.255.255.0'[email protected]'192.168.0.1'[email protected]'192.0.0.0/255.0.0.0'В еще одном примере команда
mysql> <b>GRANT ALL ON foo.* TO [email protected]'%' IDENTIFIED BY 'bar';</b>создает пользователя rick с полным набором прав доступа к базе данных
foobarЕсли базы данных
foocreate databaseКлючевые слова
IDENTIFIED BYСледует быть особенно внимательными, имея дело с именами пользователей, компьютеров или баз данных, содержащими знак подчеркивания, поскольку символ
_%Обычно ключевые слова
with grant optionwith grant optionЕстественно, администратор не может только предоставлять права, но также и лишает прав. Делается это с помощью команды
revokerevoke <<i>привилегия</i>> on <о<i>бъект</i>> from <<i>пользователь</i>>и с применением почти такого же формата, как в команде
grantmysql> <b>REVOKE INSERT ON foo.* FROM [email protected]'%';</b>Но команда
revokerevokeusermysqluser