#1698 – Access denied for user ‘root’@’localhost’
MySQL 5.7 изменила модель безопасности: теперь вход в MySQL под рутом (root) требует sudo (при этом пароль всё равно может быть пустым). Т.е. phpMyAdmin невозможно использовать под пользователем рутом.
Самым простым (и самым безопасным) решением будет создать нового пользователя и предоставить ему требуемые привилегии.
Разрешить пользователю root подключаться к MySQL без sudo
Для получения доступа к базе данных MySQL/MariaDB обычному пользователю без использования sudo привилегий, зайдите в приглашение командной строки MySQL
sudo mysql
и запустите следующие команды:
use mysql;
update user set plugin=” where User=’root’;
flush privileges;
exit
Затем перезапустите службу MySQL и попробуйте войти в базу данных без sudo, как показано ниже.
sudo systemctl restart mysql.service
mysql -u root -p
Создание нового пользователя для работы с MySQL через phpMyAdmin
1. Подключитесь к mysql
sudo mysql –user=root mysql
2. Создайте пользователя для phpMyAdmin
Запустите следующие команды (замените some_pass на желаемый пароль):
CREATE USER ‘phpmyadmin’@’localhost’ IDENTIFIED BY ‘some_pass’;
GRANT ALL PRIVILEGES ON *.* TO ‘phpmyadmin’@’localhost’ WITH GRANT OPTION;
FLUSH PRIVILEGES;