今天我们在服务器中部署数据后,通过SHELLL登录ROOT账号用户的时候报错。
mysqli::real_connect(): (HY000/1698): Access denied for user 'root'@'localhost'
这里我们的数据库默认root账号为空密码,出于安全考虑,默认只允许命令行登录。所以需要单独创建一个账号给phpMyAdmin使用:
sudo mysql -u root mysql
CREATE USER 'phpmyadmin '@'localhost' IDENTIFIED BY 'passwd';
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
flush privileges;
这将创建一个名为phpmyadmin的账号,注意将passwd换为你的密码,本地调试无需密码可以设为空。
尝试过的无效方法
修改mysql数据库user表中账号root的plugin值:
sudo mariadb -u root mysql
update user set plugin='' where User='root'
该值默认为:mysql_native_password
本文出处:老蒋部落 » 解决phpMyadmin登录出现"mysqli::real_connect(): (HY000/1698)" | 欢迎分享( 公众号:老蒋朋友圈 )