Создать пользователя и назначить права к таблицам

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

Пользователь создаётся через команду CREATE USER.

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

В MySQL по умолчанию есть таблица mysql, где хранятся различные настройки к базе данных. В данной базе данных есть таблица user, в которой хранятся пользователи.

Вывести всех пользователей MySQL можно через код ниже:

SELECT User,Host FROM mysql.user

Назначить пользователю доступ к таблице

Пользователь создан и он уже может подключаться к MySQL. Но у него пока нет доступа к таблицам.

Указать, к какой таблице пользователь будет иметь доступ, можно через команду GRANT.

GRANT SELECT,UPDATE,INSERT ON databasename . * TO 'username'@'localhost';

В коде выше пользователю «username» был дан доступ к базе данных «databasename». Символ «*» означает, что доступ был дан ко всем таблицам.

Также ему было разрешено выборка, обновление и добавление записей в базу данных (SELECT,UPDATE,INSERT).

Доступ был дан для пользователя, который подключается по «localhost». Если пользователь подключается, например, удалённо по IP, то для него надо будет дать отдельный доступ. Это позволяет, например, для удалённого пользователя ограничить доступ к некоторым таблицам базы данных.