Упражнения по SQL, решение - Управление пользователями SQL
Управление пользователями SQL: 16 упражнений с решением
1. Как создать пользователя на localhost.
Синтаксис:
создать пользователя [имя пользователя] @ [<localhost> | <IP-адрес> | <любой хост ('%')>] идентифицируется по ["паролю"];
Пример:
create user [email protected] identified by "mypassword";
- 'ramaswamy' - это имя пользователя
- localhost - это имя машины, здесь же машина
- mypassword - это пароль
2. Как создать пользователя для IP-адреса, отличного от localhost.
Синтаксис:
создать пользователя [имя пользователя] @ [<localhost> | <IP-адрес> | <любой хост ('%')>] идентифицируется по ["паролю"];
Пример:
create user [email protected] identified by "mypassword";
- 'ramaswamy' - это имя пользователя
- «192.168.0.105» - это IP-адрес
- mypassword - это пароль
3. Как дать разрешение пользователю выбирать только из localhost.
Синтаксис:
предоставить [<разрешение_1, разрешение_2, ... разрешение_n> | <все>] в [базе данных]. [<table_name> | <all_tables (*)>] to [имя пользователя] @ [<localhost> | <IP-адрес> | <любой хост ('%')>] идентифицируется по ["паролю"];
Пример :
grant select on posts.* to [email protected] identified by 'mypassword';
flush privileges;
- «select» - это имя разрешения
- 'posts' - это имя базы данных
- '*' используется для всех таблиц в базе данных
- 'ramaswamy' - это имя пользователя
- localhost - это имя машины, здесь же машина
- mypassword - это пароль
4. Как предоставить пользователю разрешение на создание, вставку, обновление, удаление и создание временных таблиц из localhost.
Синтаксис:
предоставить [<разрешение_1, разрешение_2, ... разрешение_n> | <все>] в [базе данных]. [<table_name> | <all_tables (*)>] to [имя пользователя] @ [<localhost> | <IP-адрес> | <любой хост ('%')>] идентифицируется по ["паролю"];
Пример :
предоставить выбор, создать, вставить, обновить, удалить, создать временные таблицы в сообщениях. * to [электронная почта защищена] , помеченных как 'mypassword'; сбрасывать привилегии;
- «выберите», «создать», «вставить», «обновить», «удалить», «создать временные таблицы» являются именем разрешения
- 'posts' - это имя базы данных
- '*' используется для всех таблиц в базе данных
- 'amit' - это имя пользователя
- localhost - это имя машины, здесь же машина
- mypassword - это пароль
5. Как предоставить пользователю разрешение на создание, вставку, обновление, удаление и создание временных таблиц с любого хоста.
Синтаксис:
предоставить [<разрешение_1, разрешение_2, ... разрешение_n> | <все>] в [базе данных]. [<table_name> | <all_tables (*)>] to [имя пользователя] @ [<localhost> | <IP-адрес> | <любой хост ('%')>] идентифицируется по ["паролю"];
Пример :
grant select, create, insert, update, delete, create temporary tables on posts.*
to [email protected]'%' identified by 'mypassword';
flush privileges;
- «выберите», «создать», «вставить», «обновить», «удалить», «создать временные таблицы» являются именем разрешения
- 'posts' - это имя базы данных
- '*' используется для всех таблиц в базе данных
- 'amit' - это имя пользователя
- «%» используется для любого хоста
- mypassword - это пароль
6. Как предоставить пользователю разрешение на выбор только с любого хоста, но с определенной таблицей базы данных.
Синтаксис:
предоставить [<разрешение_1, разрешение_2, ... разрешение_n> | <все>] в [базе данных]. [<table_name> | <all_tables (*)>] to [имя пользователя] @ [<localhost> | <IP-адрес> | <любой хост ('%')>] идентифицируется по ["паролю"];
Пример :
grant select on posts.url_master to [email protected]'%' identified by 'mypassword';
flush privileges;
- «select» - это имя разрешения
- 'posts' - это имя базы данных
- 'url_master' - это имя таблицы в базе данных 'posts'
- «jhon» - это имя пользователя
- «%» используется для любого хоста
- mypassword - это пароль
7. Как предоставить все привилегии пользователю со всех машин.
Синтаксис:
предоставить [<разрешение_1, разрешение_2, ... разрешение_n> | <все>] в [базе данных]. [<table_name> | <all_tables (*)>] to [имя пользователя] @ [<localhost> | <IP-адрес> | <любой хост ('%')>] идентифицируется по ["паролю"];
Пример :
grant all on posts.* to [email protected]'%' identified by 'mypassword';
flush privileges;
- «все» используется для всех разрешений
- 'posts' - это имя базы данных
- '*' используется для всех таблиц в базе данных
- «радость» - это имя пользователя
- «%» используется для любого хоста
- mypassword - это пароль
8. Как отозвать все привилегии у пользователя.
Синтаксис:
отозвать [<разрешение_1, разрешение_2, ... разрешение_n> | <все привилегии>] в [базе данных]. [<table_name> | <all_tables (*)>] from [имя пользователя] @ [<localhost> | <IP-адрес> | <любой хост ('%')>];
Пример :
revoke all privileges on posts.* from [email protected]'%';
flush privileges;
- «все привилегии» используется для всех разрешений
- 'posts' - это имя базы данных
- '*' используется для всех таблиц в базе данных
- «радость» - это имя пользователя
- «%» используется для любого хоста
9. Как отозвать конкретную привилегию у пользователя.
Синтаксис:
отозвать [<разрешение_1, разрешение_2, ... разрешение_n> | <все привилегии>] в [базе данных]. [<table_name> | <all_tables (*)>] from [имя пользователя] @ [<localhost> | <IP-адрес> | <любой хост ('%')>];
Пример :
revoke select on posts.* from [email protected]'%';
flush privileges;
- «select» - это имя разрешения
- 'posts' - это имя базы данных
- '*' используется для всех таблиц в базе данных
- «радость» - это имя пользователя
- «%» используется для любого хоста
10. Как проверить разрешения, предоставленные конкретному пользователю.
Пример :
show grants for amit;
11. Как проверить список системных привилегий, которые поддерживает сервер MySQL.
Пример :
show privileges;
12. Как предоставить разрешение пользователю, чтобы он (и) мог выполнить не более определенного количества запросов в час.
Пример :
create user [email protected] identified by 'mypassword';
grant select on posts.* to [email protected]
identified by 'mypassword' with MAX_QUERIES_PER_HOUR 50;
flush privileges;
13. Как предоставить разрешение пользователю, чтобы он (и) мог выполнить не более определенного количества запросов в час.
Пример :
set password for [email protected] = password('mypassword123');
14. Как удалить пользователя.
Пример :
drop user [email protected]'localhost';
15. Как переименовать пользователя.
Пример :
rename user [email protected] to [email protected];
16. Как создать пользователя и не предоставлять никаких привилегий
Пример :
grant usage on posts.* to [email protected] identified by 'mypassword';
Примечание : Команда, показанная как решение, успешно выполнена на MySQL Server 5.6
Предыдущий: Напишите запрос для создания представления, в котором будут найдены продавцы, выпустившие заказы 17 августа 2012 г. или 10 октября 2012 г.
Далее: Упражнения по SQL, практика, решение - ОСНОВНЫЕ упражнения по базе данных фильма
Новый контент: Composer: менеджер зависимостей для PHP , R программирования