Основы программирования в Linux
Основы программирования в Linux читать книгу онлайн
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
□ Без параметров она отображает все имеющиеся базы данных.
□ С базой данных в качестве параметра она выводит таблицы этой базы данных.
□ С именами базы данных и таблицы утилита отображает перечень столбцов заданной таблицы.
□ Если заданы база данных, таблица и столбец, утилита выводит подробную информацию о заданном столбце.
Создание пользователей и наделение их правами доступа
В роли администратора MySQL вам чаще всего придется обслуживать пользователей: добавлять, и удалять пользователей СУРБД MySQL и управлять их полномочиями. Начиная с версии MySQL 3.22, правами доступа или полномочиями пользователей управляют в мониторе MySQL с помощью команд
grant
revoke
Команда MySQL
grant
grant <<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 с полным набором прав доступа к базе данных
foo
bar
Если базы данных
foo
create database
Ключевые слова
IDENTIFIED BY
Следует быть особенно внимательными, имея дело с именами пользователей, компьютеров или баз данных, содержащими знак подчеркивания, поскольку символ
_
%
Обычно ключевые слова
with grant option
with grant option
Естественно, администратор не может только предоставлять права, но также и лишает прав. Делается это с помощью команды
revoke
revoke <<i>привилегия</i>> on <о<i>бъект</i>> from <<i>пользователь</i>>
и с применением почти такого же формата, как в команде
grant
mysql> <b>REVOKE INSERT ON foo.* FROM [email protected]'%';</b>
Но команда
revoke
revoke
user
mysql
user