Решение ошибки #1698 – Access denied for user ‘root’@’localhost’
В сегодняшней статье разберемся как устранить ошибку:
#1698 – Access denied for user ‘root'@'localhost'
при попытке подключиться к БД из под root.
MySQL 5.7 изменила модель безопасности: теперь вход в MySQL под рутом (root) требует sudo (при этом пароль всё равно может быть пустым). Т.е. phpMyAdmin невозможно использовать под пользователем root.
Самым простым (и самым безопасным) решением будет создать нового пользователя и предоставить ему требуемые привилегии.
Но начнём мы с другого решения:
Разрешить пользователю root подключаться к MySQL без sudo
Для получения доступа к базе данных MySQL/MariaDB обычному пользователю без использования sudo привилегий, зайдите в приглашение командной строки MySQL
sudo mysql
и запустите следующие команды:
use mysql;
update user set plugin='' where User='root';
flush privileges;
exit
Или так:
use mysql;
UPDATE mysql.user SET authentication_string = PASSWORD('12345') WHERE User = 'root' AND Host = 'localhost';
update user set plugin='mysql_native_password' where User='root';
flush privileges;
exit
Затем перезапустите службу MySQL и попробуйте войти в базу данных без sudo, как показано ниже.
sudo systemctl restart mysql.service
mysql -u root -p
Создание нового пользователя
Подключитесь к mysql
sudo mysql --user=root mysql
Создайте нового пользователя с правами root
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
exit
После этого можете войти под новым пользователем (myuser) в вашу базу данных с правами как у root.
Если есть вопросы, то пишем в комментариях в Телеграмм и ВК.
Ссылки в шапке страницы.Заранее всем спасибо!!!
****** два дня мучался конфиги все правил ,в мускуле новым юзерам права давал, а оказалось затерся пароль рута.спасибо помогли
Б^^^^Ь – никуя не работает, теперь и то что было невернуть никак- говносоветчик ::::::
sudo mysql
ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES)