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


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


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

Если MySQL работает локально, на том же сервере, с которого идет подключение, то команда такая:

mysql -u root -p

После ее выполнения нужно ввести пароль root MySQL.



Пароль часто хранится в файле /root/.my.cnf. Этот файл считывается автоматически, если файл есть и пароль актуален, то достаточно выполнить

mysql

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


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

Пользователь создается такой командой:

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

user здесь — имя пользователя

password — его пароль

localhost — хост, с которого к серверу баз данных будет подключаться пользователь. Обычно localhost.


create user mysql

Но может указываться ip адрес если подключение внешнее и выполняется по сети. Также может указываться знак %, он будет означать что возможно подключение с любого внешнего ip.


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



Предоставление доступа пользователю MySQL к базам данных


Если базы данных еще нет, она создается запросом

CREATE DATABASE mydb;

CREATE DATABASE mysql


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

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

Любую из звездочек можно заменить именем базы и/или таблицы. Например:

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

GRANT ALL PRIVILEGES


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


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

FLUSH PRIVILEGES;

FLUSH PRIVILEGES

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


На этом всё. Создание пользователя MySQL и предоставление ему прав выполнено.

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

quit

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

mysql -u user -p


Далее справка по правам доступа и другим базовым операциям с пользователями MySQL



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

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

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



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

Например:

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



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

DROP USER 'user'@'localhost’;



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

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



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

use mysql

SELECT host, user, password FROM mysql.user;


Теми же командами можно при желании работать во вкладке «SQL» веб-интерфейса phpmyadmin и его аналогов (таких как adminer.php).

Сказать спасибо