分类目录归档:MySQL

root用户在phpMyAdmin上登陆出错解决办法

在phpMyAdmin用root登陆MySQL出错,密码是对的就是登不上。提示:

mysqli::real_connect(): (HY000/1698): Access denied for user 'root'@'localhost'

其实就是root的验证方式的问题,以下解决方法在MariaDB10.3中验证有效。推荐解决方法2。
解决办法1:
去掉root用户的验证插件,或者验证方式改为mysql_native_password

USE mysql;
UPDATE user SET plugin="" WHERE user="root"; 
//或者
UPDATE user SET authentication_string=password("123456"),plugin='mysql_native_password' WHERE user='root';
FLUSH PRIVILEGES;

//如果要恢复root的登录验证方式使用以下语句。不用root用户登陆是安全的做法。
UPDATE user SET plugin="unix_socket" WHERE user="root"; 
FLUSH PRIVILEGES;

解决办法2:
新建一个用户pmauser并给予最大权限

CREATE USER 'pmauser'@'%' IDENTIFIED BY 'pmauser';
GRANT ALL PRIVILEGES ON *.* TO 'pmauser'@'%' WITH GRANT OPTION;