Создание пользователя базы данных MySQL

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

 

Прежде всего нужно подключиться к консоли

mysql -h localhost -u root -p

 

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

Пользователь создается следующим образом MySQL:

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

 

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

 

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

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

 

* . * здесь означает все таблицы всех баз данных.

ALL PRIVILEGES предполагает права на чтение, редактирование, изменение и удаление и т.п. таблиц и баз.

 

Привилегии пользователя сервера баз данных

 

Полный список возможных опций:

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

 

Чтобы изменения вступили в силу необходимо выполнить:

FLUSH PRIVILEGES;

 

Команду нужно выполнять каждый раз при редактировании реквизитов пользователей и прав доступа

 

Создать пользователя базы данных mysql

 

Права можно также забрать используя REVOKE

 

Например:

REVOKE UPDATE ON *.* FROM ‘user’@‘localhost’;

 

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

quit

 

и подключившись к ней и реквизитами добавленного пользователя, в примере это user

 

mysql -u user -p

 

Пользователя можно удалить тем же образом, что и базу данных

DROP USER 'user'@'localhost’;

 

 

Обновить пароль пользователя сервера баз данных

UPDATE mysql.user SET Password=PASSWORD('password123') WHERE USER='user' AND Host='localhost';

 

Вывести в консоль всех существующих пользователей и их пароли с привязкой к хосту

SELECT host, user, password FROM mysql.user;