Создание нового пользователя и предоставление привилегий в MySQL

Что такое MySQL?

MySQL – это программное обеспечение для управления базами данных с открытым исходным кодом, которое помогает пользователям хранить, систематизировать и позже извлекать данные. Данная программа имеет множество параметров для передачи пользователям прав на работу с таблицами и базами данных – это руководство проводит краткий обзор нескольких из этого множества параметров.

Что значит красный?

Строки, выделенные в этом руководстве красным, пользователь должен ввести или отредактировать самостоятельно. Остальное можно просто скопировать и вставить.

Создание нового пользователя

Как правило, все необходимое редактирование в MySQL выполняется с помощью root-пользователя, имеющего полный доступ ко всем базам данных. Тем не менее, в некоторых случаях нужны более строгие ограничения, и тогда нужно создать пользователя с ограниченными правами.

Для начала нужно создать нового пользователя в оболочке MySQL:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

На данном этапе пользователь не имеет никаких привилегий для работы с базами данных. По сути, даже если новый пользователь попытается войти в систему (с помощью пароля), он е сможет попасть в оболочку MySQL.

Потому первое, что нужно сделать – разрешить пользователю доступ к необходимой информации.

GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';

Символ звездочки в данной команде замещает имя базы данных и таблицы (соответственно), доступ к которым будет предоставлен пользователю; данная команда передает пользователю права на чтение, изменение и запуск, а также позволяет выполнять в этой базе данных и таблице все необходимые задачи.

Передав новому пользователю все необходимые привилегии, нужно перезагрузить все привилегии:

FLUSH PRIVILEGES;

После этого изменения будут активированы.

 Предоставление пользовательских привилегий

Здесь приведен короткий список распространенных прав, которые можно передать пользователю.

  • ALL PRIVILEGES: как было сказано раньше, такие привилегии разрешают пользователю MySQL полный доступ к указанным базам данных (если база данных не указана, такие привилегии распространяются на всю систему);
  • CREATE: позволяет пользователю создавать новые БД или таблицы;
  • DROP: позволяет удалять БД или таблицы;
  • DELETE: позволяет удалять строки таблиц;
  • INSERT: позволяет вносить строки в таблицы:
  • SELECT: позволяет использовать команду «Select» для чтения баз данных;
  • UPDATE: позволяет обновлять строки таблиц;
  • GRANT OPTION: позволяет передавать или ограничивать привилегии других пользователей.

Чтобы передать определенному пользователю определенные привилегии, используйте данный шаблон:

GRANT [type of permission] ON [database name].[table name] TO ‘[username]’@'localhost’;

Чтобы открыть доступ ко всем базам данных или таблицам, нужно внести символ звездочки (*) вместо имени БД или таблицы.

Команду Flush Privileges необходимо использовать после каждого обновления или изменения привилегий.

Чтобы аннулировать привилегии, используйте шаблон, очень похожий на предыдущий:

REVOKE [type of permission] ON [database name].[table name] FROM ‘[username]’@‘localhost’;

Команда «DROP» может быть использована не только для удаления баз данных, но и для удаления всех пользователей:

DROP USER ‘demo’@‘localhost’;

Чтобы протестировать ново пользователя, выйдите из системы, набрав:

quit

и войдите снова, введя в терминал команду:

mysql -u [username]-p

Tags: ,

Добавить комментарий