Как Создать Пользователя MySQL и Настроить Права Доступа

Как Создать Пользователя MySQL и Настроить Права Доступа

Хотите понять основы MySQL? Читайте дальше, так как эта статья раскрывает одну из базовых тем, а именно как создать пользователя в MySQL. Кроме этого мы покажем несколько команд, с помощью которых можно предоставить и отозвать привилегии, а также удалить существующих пользователей.

Получите скидку до 77% на пакеты VPS-хостинга.

Смотреть планы

Прежде чем мы перейдём к следующему разделу руководства, убедитесь, что вы установили MySQL. У нас есть отличные учебные пособия о том, как установить БД на Ubuntu и CentOS.

ОБРАТИТЕ ВНИМАНИЕ. Мы будем использовать командную строку, чтобы подключиться к нашему Linux VPS как root-пользователь. Вы можете использовать PuTTY (Windows) или свой терминал (macOS, Linux) и войти в систему, используя данные своего root-доступа SSH, предоставленные вашим хостинг-провайдером.

Создайте Учётную Запись Пользователя MySQL и Предоставьте Неограниченные Права Доступа

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

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

Например, вы нанимаете разработчиков для поддержки ваших баз данных, но не хотите, чтобы они могли удалять или изменять конфиденциальную информацию.

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

Создать пользователя MySQL очень просто. В этой части мы объясним, как создать пользователя MySQL и назначить ему полные права доступа к базе данных. На практике было бы неразумно предоставлять полный контроль пользователю без полномочий root. Тем не менее это хорошая отправная точка для изучения пользовательских привилегий.

Чтобы создать новую учётную запись пользователя в MySQL, выполните следующие действия:

  1. Запустите командную строку и из неё сервер MySQL:
    mysql
  2. Сценарий вернёт следующий результат, подтверждающий, что вы обращаетесь к серверу MySQL.
    mysql>
  3. Затем выполните следующую команду:
    CREATE USER 'novyi_polzovatel'@'localhost' IDENTIFIED BY 'parol';
  4. novyi_polzovatel — это имя, которое мы дали нашей новой учётной записи, а часть IDENTIFIED BY ‘parol’ устанавливает пароль для этого пользователя. Вы можете заменить значения внутри кавычек.
  5. Чтобы назначить созданном пользователю неограниченные права доступа к базе данных, выполните следующую команду:
    GRANT ALL PRIVILEGES ON * . * TO 'novyi_polzovatel'@'localhost';
  6. Для того, чтоб изменения вступили в силу запустите команду обновления:
    FLUSH PRIVILEGES;

Это всё. Ваш новый пользователь получил те же права доступа в базе данных, что и пользователь root.

Назначьте Специальные Права Доступа для Пользователя MySQL

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

Кроме того, замените значение ТИП_ПРАВ типом доступа, который вы хотите предоставить своему новому пользователю.

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

  • CREATE — Позволяет пользователям создавать базы данных/таблицы
  • SELECT — Разрешает делать выборку данных
  • INSERT — Право добавлять новые записи в таблицы
  • UPDATE — Позволяет изменять существующие записи в таблицах
  • DELETE — Даёт право удалять записи из таблиц
  • DROP — Возможность удалять записи в базе данных/таблицах

ОБРАТИТЕ ВНИМАНИЕ. Тип прав ALL PRIVILEGES даёт все перечисленные выше разрешения.

Для использования любой из этих опций, просто замените ТИП_ПРАВ необходимым разрешением. Чтобы назначить несколько видов прав доступа, разделите их запятыми как в следующей команде. Например, мы можем назначить привилегии CREATE и SELECT нашему пользователю MySQL без полномочий root следующей командой:

GRANT [тип_прав] ON [имя_базы_данных].[имя_таблицы] TO ‘imia_polzovatelia’@'localhost’;
GRANT CREATE, SELECT ON * . * TO 'imia_polzovatelia'@'localhost';

Иногда вы можете столкнуться с ситуацией, когда вам нужно отменить определенные привилегии пользователя. Сделать это можно, выполнив следующую команду:

REVOKE ТИП_ПРАВ ON имя_базы_данных.имя_таблицы FROM ‘imia_polzovatelia’@‘localhost’;

Чтобы отозвать все права доступа пользователя без полномочий root, используйте команду:

REVOKE ALL PRIVILEGES ON *.* FROM 'imia_polzovatelia'@'localhost';

Наконец, вы можете полностью удалить существующую учётную запись пользователя, используя команду:

DROP USER ‘imia_polzovatelia’@‘localhost’;

ОБРАТИТЕ ВНИМАНИЕ. Для запуска любой из этих команд вам необходим root-доступ. Также, обязательно выполняйте FLUSH PRIVILEGES; Команда после внесения изменений.

Просмотр Прав Доступа Пользователя MySQL

Чтобы узнать, какие разрешения уже предоставлены пользователю MySQL, используйте команду SHOW GRANTS:

SHOW GRANTS FOR 'imia_polzovatelia'@'localhost';

Вывод будет выглядеть примерно так:

+---------------------------------------------------------------------------+
| Grants for imia_polzovatelia@localhost                                             |
+---------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'imia_polzovatelia'@'localhost'                              |
| GRANT ALL PRIVILEGES ON 'имя_базы_данных'.* TO 'imia_polzovatelia'@'localhost'.    |
| REVOKE ALL PRIVILEGES ON * . * FROM 'imia_polzovatelia'@'localhost';  |
+---------------------------------------------------------------------------+
3 rows in set (0.00 sec)

Что Такое База Данных MySQL?

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

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

Однако хранимые данные должны быть организованны в определённом порядке. Вот почему у нас есть системы управления базами данных. Эти инструменты используются для связи с базой данных и позволяют разработчикам структурировать, хранить, создавать и изменять данные.

MySQL — одна из самых популярных систем управления базами данных. Её популярность объясняется простотой использования и поддержкой огромного сообщества. Даже такие платформы, как Facebook и Twitter, в некоторой степени используют MySQL.

Заключение

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

В этом руководстве вы узнали несколько основных команд для работы в MySQL, в том числе КАК:

  • Создать пользователя MySQL и предоставить ему полные права доступа
  • Назначить и отозвать определённые разрешения, а также полностью удалить пользователя MySQL
  • Посмотреть разрешения пользователя MySQL

Удачи, и не стесняйтесь оставлять комментарии ниже, если у вас есть какие-либо вопросы.

Author
Автор

Elena B.

Елена имеет профессиональное техническое образование в области информационных технологий и опыт программирования на разных языках под разные платформы и системы. Более 10 лет посвятила сфере веб, работая с разными CMS, такими как: Drupal, Joomla, Magento и конечно же наиболее популярной в наши дни системой управления контентом – WordPress. Её статьи всегда технически выверены и точны, будь то обзор для WordPress или инструкции по настройке вашего VPS сервера.