Права доступа к MySQL через Linux

Не все любят управлять MySQL через Linux. Management Studio – говорили они. CLI – говорим мы. Бро, эта статья про то, как дать права доступа (permissions) учетным записям в Linux – среде.

icon strelka icons icons

узнай больше на курсе

Онлайн-курс по Linux
Освой терминал, службы и администрирование Linux: 2 месяца онлайн, практика на своём сервере и сертификат. Открой программу.
Подробнее о курсе
Полный курс по сетевым технологиям
Разберись в TCP/IP, коммутации и маршрутизации с нуля: 2 месяца онлайн, лабы и сертификат. Открой программу и выбери свой тариф.
Подробнее о курсе
DevOps-инженер с нуля
Освой Linux, Docker, Kubernetes и CI/CD и собери свой пайплайн: 4 месяца онлайн, практика и сертификат. Смотри программу и тарифы.
Подробнее о курсе

Логинимся

Подключаемся к своему серверу по SSH. В командной строке вводим:

mysql -u root -p

Хоп – и мы уже в режиме управления MySQL:

mysql>

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

CREATE USER 'логин'@'localhost' IDENTIFIED BY 'пароль';

А теперь права

Друже, синтаксис команды, которая даст нужные тебе права крайне простой. Вот он:

GRANT права ON база_данных.таблица TO 'логин'@'localhost';

Разберемся слева на право:

  1. права - могут быть следующие:
    • ALL – дает полный доступ к базе данных. Кстати, если база данных не определена в команде, то даст полный доступ ко всему в MySQL (ох не надо так);
    • CREATE – позволяет пользователю создавать базы данных и таблицы;
    • DELETE – дает право пользователю удалять строки из таблиц;
    • DROP – дает право удалять базы данных и таблица целиком (ну, так тоже не надо);
    • EXECUTE – дает право пользователю выполнять хранимые процедуры;
    • GRANT OPTION – с этой опцией юзер сможет давать права (или удалять) другим пользователям;
    • INSERT – дает право хранить молчанию и все что он скажет будет.. Ладно, это просто право на добавление новых строк в таблицу;
    • SELECT – самое распространенное право – парсить (извлекать) данные из SQL для чтения;
    • SHOW DATABASES - этому пользователю можно будет смотреть на список баз данных;
    • UPDATE – дает право пользователю изменять текущие строки в таблице;
  2. база_данных собственно, база данных, внутри которой живет ваша таблица;
  3. таблица - сама таблица. Табличка, table, le tableau;
  4. логин - имя пользователя вашего юзверя;

Все просто. Пробежимся по примерам.


Пример №1

Давайте дадим права юзеру example, с помощью которых он сможет создавать любые БД и таблицы:

GRANT CREATE ON *.* TO 'example'@'localhost';

Использование звездочки (*) – это как маска, под которое попадает все.


Пример №2

Дадим пользователю example права на удаление любых таблиц в заранее обозначенной базе данных, которая называется easybro

GRANT DROP ON easybro.* TO 'example'@'localhost';

Как видишь, мы юзаем команду DROP. Кстати, лучшая практика после внесения изменения сделать небольшую перезагрузку прав командой:

FLUSH PRIVILEGES;

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

Посмотреть права очень просто. Опять же, на примере нашего юзера example:

SHOW GRANTS FOR 'example'@'localhost';
Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
icon strelka icons icons

узнай больше на курсе

Онлайн-курс по Linux
Освой терминал, службы и администрирование Linux: 2 месяца онлайн, практика на своём сервере и сертификат. Открой программу.
Подробнее о курсе
Полный курс по сетевым технологиям
Разберись в TCP/IP, коммутации и маршрутизации с нуля: 2 месяца онлайн, лабы и сертификат. Открой программу и выбери свой тариф.
Подробнее о курсе
DevOps-инженер с нуля
Освой Linux, Docker, Kubernetes и CI/CD и собери свой пайплайн: 4 месяца онлайн, практика и сертификат. Смотри программу и тарифы.
Подробнее о курсе
Python программист с нуля
Напиши первый код и собери проекты на Python: 4 месяца онлайн в своём темпе, практика и сертификат. Смотри программу и тарифы.
Подробнее о курсе
Онлайн-курс по кибербезопасности
Научись защищать сети и данные и разбирать атаки: 2 месяца онлайн, практика в лабах и сертификат. Открой программу и тарифы.
Подробнее о курсе
Онлайн-курс по сетевой безопасности
Научись защищать сеть: firewall, VPN, сегментация и мониторинг. 2 месяца онлайн, практика и сертификат. Смотри программу курса.
Подробнее о курсе
Еще по теме:
Разбираем 7 ключевых принципов Linux, которые помогают новичкам перестать бороться с системой и начать понимать, как она на самом деле работает.
Узнайте про 5 полезных Linux - команд: tldr, timeout, ncdu, fd и trash, которые упрощают жизнь при работе в CLI
Что позволяет называть один API как REST API, а другой нет? Сейчас попробуем разложить все по полочкам, чтобы ты на собесе жидко не споткнулся о такую, казалось бы, простую тему.
Узнайте, как работают сетевые порты в Linux, какие бывают типы портов, и как управлять ими с помощью команд netstat, ss, ufw и iptables
Рассказываем, как появился nginx, его отличия от apache, для чего нужен nginx и какие у него преимущества
ОСЕННИЕ СКИДКИ
30%
40%
50%
До конца акции: 30 дней 24 : 59 : 59