解决phpMyadmin登录出现"mysqli::real_connect(): (HY000/1698)"

今天我们在服务器中部署数据后,通过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)" | 欢迎分享( 公众号:老蒋朋友圈 )

公众号 「老蒋朋友圈」获取站长新知 / 加QQ群 【1012423279】获取商家优惠推送