Купить Корзина
Логотип REG.RU
  • Вход
    • Помощь
  • Помощь
  • Серверы VPS
  • Облачные серверы
  • Установка программного обеспечения
  • Как создать нового пользователя и настроить права доступа в MySQL

Как создать нового пользователя и настроить права доступа в MySQL

Чтобы начать работу в MySQL, установите LEMP или LAMP по соответствующей инструкции в разделе: Установка программного обеспечения.

После установки MySQL/MariaDB автоматически будет создан MySQL пользователь root. Работать с базой данных под root небезопасно, поэтому необходимо создать нового пользователя, а затем назначить ему специальные права доступа. Сделать это можно через консоль или через phpMyAdmin.

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

через phpMyAdmin
через консоль

Чтобы добавить нового пользователя, установите приложение phpMyAdmin. Как установить phpMyAdmin, описано в инструкции. После установки проверьте, что ваш сервер включен. Для входа в phpMyAdmin используйте root-логин и root-пароль сервера.

  1. 1.

    Откройте приложение и перейдите на вкладку Учетные записи пользователей. Кликните по строке Добавить учетную запись пользователя:

  2. 2.

    На открывшейся странице укажите имя пользователя, хост и пароль. Подтвердите пароль. Также вы можете сгенерировать пароль, нажав на кнопку Генерировать.

  3. 3.

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

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

    Нажмите кнопку Вперёд внизу страницы:

Готово, вы добавили учётную запись:

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

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

  1. 1.

    Запустите сервер базы данных с помощью команды:

    mysql

  2. 2.

    Создайте пользователя с помощью команды:

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

    Замените значения внутри кавычек:

    • вместо user-name укажите логин пользователя базы данных;
    • вместо password укажите пароль нового пользователя.
  3. 3.

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

    Для этого введите команду:

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

    Не забудьте изменить user-name на логин, который был указан при создании пользователя.

  4. 4.

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

    FLUSH PRIVILEGES;

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

Как настроить права доступа для пользователя в MySQL

через phpMyAdmin
через консоль
  1. 1.

    Откройте phpMyAdmin и перейдите на вкладку Учетные записи пользователей. Выберите нужную учетную запись и нажмите Редактировать привилегии:

  2. 2.

    На открывшейся странице перейдите на вкладку База данных. Выберите из списка базу данных, к которой хотите дать доступ пользователю, и нажмите Вперёд:

  3. 3.

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

    Затем нажмите Вперёд:

Готово, вы настроили привилегии для пользователя.

Важно: обязательно выполняйте команду FLUSH PRIVILEGES после любого изменения в правах доступа. Для выполнения каждой из команд нужно иметь права доступа root.

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

GRANT [тип прав] ON [имя базы данных].[имя таблицы] TO ‘user-name’@'localhost’;

Замените значения внутри кавычек:

  • вместо имя базы данных укажите нужную базу данных;
  • вместо имя таблицы укажите имена таблиц, к которым хотите дать доступ или укажите .*, чтобы дать права на конкретную базу и все таблицы;
  • вместо тип прав — тот тип, который вы хотите предоставить пользователю.

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

  • ALL PRIVILEGES – даёт пользователю MySQL полный доступ к заданной базе данных (если база данных не указана, то ко всем);
  • CREATE – позволяет пользователю создавать базы данных/таблицы;
  • SELECT – позволяет пользователю делать выборку данных;
  • INSERT – позволяет пользователю добавлять новые записи в таблицы;
  • UPDATE – позволяет пользователю изменять существующие записи в таблицах;
  • DELETE – позволяет пользователю удалять записи из таблиц;
  • DROP – позволяет пользователю удалять записи в базе данных/таблицах.

Не забудьте изменить user-name на логин, который был указан при создании пользователя.

  • Если вы хотите назначить несколько видов прав доступа, разделите их запятыми, как в команде:

GRANT CREATE, SELECT ON *.* TO ‘user-name’@'localhost’;

  • Если вы хотите забрать у пользователя права доступа, введите команду:

REVOKE [тип прав] ON [имя базы данных].[имя таблицы] FROM ‘user-name’@'localhost’;

  • Если вы хотите отменить все привилегии у пользователя, введите команду:

REVOKE ALL PRIVILEGES ON *.* FROM ‘user-name’@'localhost’;

Обратите внимание, что при при любой отмене разрешений синтаксис требует, чтобы вы использовали FROM, а не TO.

  • Чтобы просмотреть текущие разрешения пользователя, выполните команду:

SHOW GRANTS username;

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

DROP USER ‘user-name’@'localhost’;

Помогла ли вам статья?
ДаНет
раз уже помогла

Спасибо за оценку!
Как мы можем улучшить статью?

Нужна помощь?
Напишите в службу поддержки!

REG.RU
  • О компании
  • Контакты и офисы
  • Новости
  • Карьера в REG.RU
  • Руководство
  • Отзывы клиентов
Услуги
  • Стоимость услуг
  • Хостинг
  • Зарегистрировать домен
  • Конструктор и CMS
  • Создать сайт в REG.Site
  • VPS
  • Серверы и ДЦ
  • SSL-сертификат
Партнёрам
  • Партнёрские программы
  • Профессионалам IT
  • Бонусная программа
  • REG.API
  • Промоматериалы
Полезное
  • Акции и скидки
  • Мероприятия
  • Юридическим лицам
  • ЭДО
  • Whois
Помощь
  • База знаний
  • Вопросы и ответы
  • Шаблоны заявлений
  • Оставить отзыв, предложение
  • Сообщить о нарушении

+7 (495) 580-11-11

Телефон в Москве

8 800 555-34-78

Бесплатный звонок по России

           

Нашли опечатку?
Выделите и нажмите Ctrl+Enter

  • mastercard
  • visa
  • mir
  • sberbank
  • qiwi
  • yamoney
  • sbp
Все способы оплаты
© ООО «Регистратор доменных имен РЕГ.РУ» Правила пользования сайтомПолитика обработки персональных данных
Award
shop.reg.ru Магазин доменов
statonline.ru Доменная статистика
reg.ru/blog Мы пишем
  • Мы используем файлы cookie. Продолжив работу с сайтом, вы соглашаетесь с Политикой обработки персональных данных и Правилами пользования сайтом.