mysql无法设置密码

无论设置什么密码,都不起作用。登录时输入任何密码都可以进去。
在mysql内查看显示如下:

MariaDB [mysql]> select authentication_string from user;
authentication_string

1 row in set (0.00 sec)

MariaDB [mysql]> select user from user;
user
root

1 row in set (0.00 sec)

MariaDB [mysql]> select host from user;
host
localhost

1 row in set (0.00 sec)

阅读 3.3k
3 个回答

解决了,是mysql密码验证方式有问题。
select Host,User,plugin from mysql.user where User='root';

这个时候会发现plugin(加密方式)是unix_socket,

update mysql.user set plugin='mysql_native_password'; #重置加密方式

update mysql.user set password=PASSWORD("newpassword") where User='root'; #设置新密码

flush privileges; #刷新权限信息

然后就可以正常使用

是不是在my.cnf文件下 加 skip-grant-tables 跳过密码登录了
(window下 好像叫my.ini)

管理员方式进入设置密码试试

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题