Как создать нового пользователя MySQL и настроить права доступа

Инструкция о том, как создать нового пользователя MySQL и настроить ему права доступа, используя консоль.

Как создать нового пользователя MySQL

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

Как создать нового пользователя

Следующая команда создает пользователя newuser с паролем password:

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

Созданный пользователь имеет доступ к MySQL только с локалхоста. Чтобы пользователь мог подключаться с любого IP адреса, команда будет такая:

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

На данном этапе созданный пользователь newuser не имеет прав делать что-либо с базами данных. Он даже не сможет зайти в консоль MySQL со своим логином/паролем. Значит нужно предоставить пользователю доступ к информации, которая ему потребуется.

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

Звездочки в этой команде задают базу и таблицу, соответственно, к которым у пользователя будет доступ. Конкретно эта команда позволяет пользователю читать, редактировать, выполнять любые действия над всеми базами данных и таблицами.

После завершения настройки прав доступа новых пользователей необходимо обновить все права доступа такой командой:

FLUSH PRIVILEGES;

Теперь ваши изменения вступят в силу.

Как настроить различные права доступа

Список некоторых возможных вариантов прав доступа, которые могут получить пользователи:

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

Для назначения прав конкретному пользователю можно использовать следующую схему:

GRANT [тип прав] ON [название базы данных].[название таблицы] TO ‘[имя пользователя]’@'localhost’;

Используйте звездочку (*) вместо названия базы данных или таблицы, если вы хотите дать доступ к любой базе данных или к любой таблице.

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

FLUSH PRIVILEGES;

Лишение прав доступа похоже на их назначение:

REVOKE [тип прав] ON [название базы данных].[название таблицы] FROM ‘[имя пользователя]’@‘localhost’;

Команда DROP удаляет пользователя:

DROP USER ‘demo’@‘localhost’;

На этом всё, данная статья поможет вам создать нового пользователя MySQL и настроить для него необходимые права доступа 😎

6498