Содержание
- Привилегии учетной записи:
- ① Как создать привилегированную учетную запись?
- ② Как создать стандартную учетную запись с привилегиями DDL+DML?
- ③ Как создать стандартную учетную запись с привилегиями DDL?
- ④ Как создать стандартную учетную запись с привилегиями DML?
- ⑤ Как создать стандартную учетную запись с привилегиями только для чтения?
Привилегии учетной записи:
① Привилегированная учетная запись > ② Стандартная учетная запись(DML+DDL) > ③ Стандартная учетная запись(DDL) > ④ Стандартная учетная запись(DML) > ⑤ Стандартная учетная запись(только чтение)
① Как создать привилегированную учетную запись?
Создать на консоли.
Или можно создать через openAPI, об этом мы поговорим в другой статье.
② Как создать стандартную учетную запись с привилегиями DDL+DML?
Смотрите пример ниже:
В данном примере будет создан пользователь с именем ‘normal3’ с привилегиями DDL и DML на БД ‘test3’ и ему будет разрешен доступ из любого места.
create user IF NOT EXISTS normal3@'%' identified by 'Passw@rd!';
show grants for normal3;
_// The user will only have USAGE privilege after created. So you would need to grant process, replication slave and replication client on *.* to new user account._
GRANT PROCESS, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'normal3'@'%';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER ON `test3`.* TO 'normal3'@'%';
GRANT SELECT ON `mysql`.`help_keyword` TO 'normal3'@'%';
GRANT SELECT ON `mysql`.`time_zone_name` TO 'normal3'@'%';
GRANT SELECT ON `mysql`.`help_category` TO 'normal3'@'%';
GRANT SELECT ON `mysql`.`help_relation` TO 'normal3'@'%';
GRANT SELECT ON `mysql`.`time_zone_leap_second` TO 'normal3'@'%';
GRANT SELECT ON `mysql`.`slow_log` TO 'normal3'@'%';
GRANT SELECT ON `mysql`.`time_zone_transition_type` TO 'normal3'@'%';
GRANT SELECT ON `mysql`.`func` TO 'normal3'@'%';
GRANT SELECT ON `mysql`.`general_log` TO 'normal3'@'%';
GRANT SELECT ON `mysql`.`proc` TO 'normal3'@'%';
GRANT SELECT ON `mysql`.`time_zone` TO 'normal3'@'%';
GRANT SELECT ON `mysql`.`help_topic` TO 'normal3'@'%';
GRANT SELECT ON `mysql`.`time_zone_transition` TO 'normal3'@'%';
GRANT SELECT ON `mysql`.`event` TO 'normal3'@'%';
③ Как создать стандартную учетную запись с привилегиями DDL?
create user IF NOT EXISTS normal6@'%' identified by 'Passw@rd!';
GRANT PROCESS, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'normal6'@'%';
GRANT CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE ON `sampledb`.* TO 'normal6'@'%';
GRANT SELECT ON `mysql`.`help_keyword` TO 'normal6'@'%';
GRANT SELECT ON `mysql`.`time_zone_name` TO 'normal6'@'%';
GRANT SELECT ON `mysql`.`help_category` TO 'normal6'@'%';
GRANT SELECT ON `mysql`.`help_relation` TO 'normal6'@'%';
GRANT SELECT ON `mysql`.`time_zone_leap_second` TO 'normal6'@'%';
GRANT SELECT ON `mysql`.`slow_log` TO 'normal6'@'%';
GRANT SELECT ON `mysql`.`time_zone_transition_type` TO 'normal6'@'%';
GRANT SELECT ON `mysql`.`func` TO 'normal6'@'%';
GRANT SELECT ON `mysql`.`general_log` TO 'normal6'@'%';
GRANT SELECT ON `mysql`.`proc` TO 'normal6'@'%';
GRANT SELECT ON `mysql`.`time_zone` TO 'normal6'@'%';
GRANT SELECT ON `mysql`.`help_topic` TO 'normal6'@'%';
GRANT SELECT ON `mysql`.`time_zone_transition` TO 'normal6'@'%';
GRANT SELECT ON `mysql`.`event` TO 'normal6'@'%';
④ Как создать стандартную учетную запись с привилегиями DML?
create user IF NOT EXISTS normal5@'%' identified by 'Passw@rd!';
GRANT PROCESS, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'normal5'@'%';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, SHOW VIEW, EVENT, TRIGGER ON `sampledb`.* TO 'normal5'@'%';
GRANT SELECT ON `mysql`.`help_keyword` TO 'normal5'@'%';
GRANT SELECT ON `mysql`.`time_zone_name` TO 'normal5'@'%';
GRANT SELECT ON `mysql`.`help_category` TO 'normal5'@'%';
GRANT SELECT ON `mysql`.`help_relation` TO 'normal5'@'%';
GRANT SELECT ON `mysql`.`time_zone_leap_second` TO 'normal5'@'%';
GRANT SELECT ON `mysql`.`slow_log` TO 'normal5'@'%';
GRANT SELECT ON `mysql`.`time_zone_transition_type` TO 'normal5'@'%';
GRANT SELECT ON `mysql`.`func` TO 'normal5'@'%';
GRANT SELECT ON `mysql`.`general_log` TO 'normal5'@'%';
GRANT SELECT ON `mysql`.`proc` TO 'normal5'@'%';
GRANT SELECT ON `mysql`.`time_zone` TO 'normal5'@'%';
GRANT SELECT ON `mysql`.`help_topic` TO 'normal5'@'%';
GRANT SELECT ON `mysql`.`time_zone_transition` TO 'normal5'@'%';
GRANT SELECT ON `mysql`.`event` TO 'normal5'@'%';
⑤ Как создать стандартную учетную запись с привилегиями только для чтения?
create user IF NOT EXISTS normal4@'%' identified by 'Passw@rd!';
GRANT PROCESS, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'normal4'@'%';
GRANT SELECT, LOCK TABLES, SHOW VIEW ON `test4`.* TO 'normal4'@'%';
GRANT SELECT ON `mysql`.`help_keyword` TO 'normal4'@'%';
GRANT SELECT ON `mysql`.`time_zone_name` TO 'normal4'@'%';
GRANT SELECT ON `mysql`.`help_category` TO 'normal4'@'%';
GRANT SELECT ON `mysql`.`help_relation` TO 'normal4'@'%';
GRANT SELECT ON `mysql`.`time_zone_leap_second` TO 'normal4'@'%';
GRANT SELECT ON `mysql`.`slow_log` TO 'normal4'@'%';
GRANT SELECT ON `mysql`.`time_zone_transition_type` TO 'normal4'@'%';
GRANT SELECT ON `mysql`.`func` TO 'normal4'@'%';
GRANT SELECT ON `mysql`.`general_log` TO 'normal4'@'%';
GRANT SELECT ON `mysql`.`proc` TO 'normal4'@'%';
GRANT SELECT ON `mysql`.`time_zone` TO 'normal4'@'%';
GRANT SELECT ON `mysql`.`help_topic` TO 'normal4'@'%';
GRANT SELECT ON `mysql`.`time_zone_transition` TO 'normal4'@'%';
GRANT SELECT ON `mysql`.`event` TO 'normal4'@'%';