Добавить права для пользователя MySQL

После первой установки LAMP в системе стоит MySQL с ‘root’@’localhost’ без пароля. Для дальнейшей работы необходимо создать другого пользователя с наделить его правами. Кроме того, если необходимо будет как-то управляться с БД, желательно либо что-то установить, либо пользоваться клиентом.

Устанавливаем PhpMyAdmin

sudo apt update
sudo apt install phpmyadmin php-mbstring php-gettext

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

Авторизовываемся в MySQL mysql -u root -p

в mysql выполняем команду

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password';

newuser — логин пользователя, ‘localhost‘ — локальный, либо ‘%‘ — для всех пользователей, ‘10.0.0.1’ — для конкретного ip, user_password — пароль пользователя

Добавляем права пользователю

Создадим полную копию root, назовем его например superadmin

GRANT ALL PRIVILEGES ON database_name.* TO 'superadmin'@'localhost';

database_name.* — имя базы данных, для всех можно использовать *.*, superadmin — имя пользователя, localhost — про это уже говорили выше.

Но тут не хватает ещё одного права — наделять права — GRANT GRANT

GRANT GRANT OPTION ON *.* TO 'superadmin'@'localhost';

Теперь у superadmin есть все права, что и root.  Осталось обновить права.

FLUSH PRIVILEGES;

 

Источники:
How to Create MySQL Users Accounts and Grant Privileges
How to Grant All Privileges on a Database in MySQL/
The GRANT OPTION Privilege

Leave a comment

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.