После первой установки 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