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

file

Все данные в ее базах хранятся в виде логически связанных между собой таблиц, доступ к которым осуществляется с помощью языка запросов SQL. Mysql – свободно распространяемая система, т.е. платить за ее применение не нужно. Кроме того, это достаточно быстрая, надежная и, главное, простая в использовании СУБД, вполне подходящая для не слишком глобальных проектов.

Назначение прав для пользователей MySQL в ISPmanager5

На главной странице ISPmanager перейдем в раздел «Инструменты → Базы данных».

Далее на открывшемся интерфейсе управления базами данных нужно создать новую БД нажав на кнопку Создать.

file

file

Если база данных уже создана то выберем ее и нажмем на кнопку Пользователи для перехода к интерфейсу управления пользователями БД.

file

Следует заметить, что при создании новой БД представится возможность сразу создать нового пользователя, который будет назначен к этой базе данных. Либо же можно будет выбрать существующего пользователя, который также будет автоматически назначен этой базе данных.

В интерфейсе управления базой данных нам представится список всех пользователей этой базы данных в текущем аккаунте ISPmanager. Для редактирования прав необходимо выделить конкретного пользователя, которому назначаем права, и нажать кнопку «Изменить».

file

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

file

По-умолчанию при создании пользователя и БД назначаются все права.


Права для пользователей MySQL

Существует некоторое количество привилегий в системе БД MySQL которые указаны ниже с описанием. Последние привилегии являются привилегиями администраторского уровня, что явно указано лишь для справки. Полная информация о правах/ привилегиях доступна в документации разработчика MySQL:

CREATE — позволяет создавать новые базы данных и таблицы
DROP — позволяет удалять базы данных или таблицы
INSERT — позволяет добавлять строки к таблице.
UPDATE — позволяет изменять содержание строк таблиц. Не путать с ALTER, которая позволяет изменять саму структуру таблиц (количество строк/столбцов, типы столбцов).
DELETE — противоположна INSERT — позволяет удалять строки из таблицы.
ALTER — позволяет изменять структуру таблиц. Требует CREATE и INSERT привилегии.
SELECT — позволяет читать (выводит строки) таблицы, используя выборки по столбцам и/или по некоторым арифметическим и логическим критериям.
GRANT OPTION — позволяет назначить конкретные права определенному пользователю (также и отобрать). Возможно дать/отобрать только те права, которыми назначающий сам располагает.
LOCK TABLES — блокирует таблицу на время искусственного внесения в нее изменений (администрирование), чтобы данные внутри нее не могли измениться своим естественным путем (во время рабочего процесса).
REFERENCES — позволяет создавать связь между таблицами по внешнему ключу.
EVENT — дает право на создание/изменение/удаление заданий для планировщика
TRIGGER — позволяет создавать/изменять/удалять триггеры (привязываемые к определенным таблицам), которые при выполнении операций DELETE, UPDATE или INSERT совершают дополнительные действия.
INDEX — привилегия даёт право добавлять/удалять индексы к (из) таблицам. Сами индексы назначаются вручную, и дают возможность сэкономить время на поиске строк.
CREATE TEMPORARY TABLES — позволяет создавать временные таблицы на время сессии.
CREATE VIEW — позволяет создать некоторое представление в виде таблицы, которая фактически не существует как единая и содержит лишь данные других таблиц. К примеру, в этом представлении можно собрать определенные сгруппированные данные из трёх таблиц (оператором SELECT) и по факту собранные данные будут лишь ссылаться на данные этих 3-х таблиц и также будут объединением, не нуждающимся в собственной таблице.
SHOW VIEW — позволяет проверить каким запросом (из каких данных состоит) создано определенное представление, заданное с помощью CREATE VIEW
CREATE ROUTINE — позволяет создать процедуру, которая является набором заготовленным набором SQL-команд.
ALTER ROUTINE — позволяет изменить процедуру, созданную посредством CREATE ROUTINE.
EXECUTE — позволяет вызывать готовые процедуры.
FILE — предоставляет доступ на чтение любого файла на сервере, к которому есть доступ у самой системы MySQL и доступ на создание файла в директориях, на которые у MySQL есть права записи.
CREATE TABLESPACE (admin) — позволяет создавать/изменять/удалять пространства таблиц. Само это пространство является логическим и не связано со структурой БД или схемой. Оно декларирует расположение объектов БД на физических носителях и используется для оптимизации системы БД.
CREATE USER (admin) — позволяет создавать/изменять/переименовывать/удалять пользователей баз данных.
PROCESS (admin) — разрешает доступ к информации о потоках (процессах) исполняющихся на сервере.
PROXY (admin) — позволяет войти пользователем под видом другого пользователя. Используется администратором для проверки/отладки прав доступа у необходимого пользователя.
RELOAD (admin) — разрешает использование оператора FLUSH, который чистит кеш MySQL
REPLICATION CLIENT (admin) — позволяет выполнять операции SHOW MASTER STATUS, SHOW SLAVE STATUS и SHOW BINARY LOG.
REPLICATION SLAVE (admin) — данная привилегия необходима пользователям ведомого сервера БД, чтобы этот сервер мог подключаться к ведущему серверу в роли ведомого. Без этой привилегии ведомые сервера не смогут запрашивать обновления баз данных и таблиц у ведущего сервера.
SHOW DATABASES (admin) — позволяет выполнять оператор SHOW DATABASES. Пользователи, не имеющие подобной привилегии, при выполнении данного оператора смогут лишь увидеть базы данных к которым у них есть какие-либо права.
SHUTDOWN (admin) — привилегия позволяет выполнить оператор SHUTDOWN, выключающий MySQL сервер.
SUPER (admin) — привилегия, дающая право на множество операций:

  • позволяет завершить процессы, принадлежащие другим пользователям
  • изменить глобальные системные переменные
  • включать/отключать логирование
  • производить обновления даже при установленных правах на чтение для системных переменных
  • запускать/останавливать репликации на ведомых серверах

ALL (admin) — пользователю, получившему данную привилегию, автоматически назначаются все права в рамках уровня привилегий (возможных привилегий в принципе, согласно контексту выдачи привилегий). Не назначается только привилегия GRANT OPTION в данном случае.


Если у Вас возникли трудности в настройке или появились дополнительные вопросы, вы всегда можете обращаться в нашу службу поддержки через систему тикетов.

Обновлено 3 сентября 2020 г.