首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >密码登录在MySQL中无效

问密码登录在MySQL中无效
EN

Stack Overflow用户
提问于 2022-01-09 13:58:44
回答 2查看 693关注 0票数 1

我在我的ubuntu20.04 MySQL实例中安装了EC2服务器8.0,并使用$ sudo mysql_secure_installation进行了安全安装,其中设置了根用户的密码。我还通过匿名用户禁用了MySQL登录。

我使用$ sudo mysql -u root -p登录到MySQL,并使用错误的密码来确认是否启用了正确的密码,并且令人惊讶地能够登录。

此外,我还可以在没有密码的情况下使用$ sudo mysql登录。

在此之后,我尝试使用ALTER USER 'root'@'localhost' IDENTIFIED BY 'PASSWORD';设置密码,然后在MySQL中使用FLUSH PRIVILEGES;设置密码,但结果与以前相同。

我还尝试使用UPDATE mysql.user SET authentication_string=PASSWORD('NEW_USER_PASSWORD') WHERE User='root' AND Host='localhost';直接修改用户表,但遇到了语法错误:-

代码语言:javascript
复制
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right s
yntax to use near '('NEW_USER_PASSWORD') WHERE User='root' AND Host='localhost'' at line 1

编辑:在我将根用户的身份验证插件从mysql.user更改为caching_sha2_password之前的auth_socket表。

代码语言:javascript
复制
     +-----------+------------------+-----------------------+
     | host      | user             | plugin                |
     +-----------+------------------+-----------------------+
     | localhost | debian-sys-maint | caching_sha2_password |
     | localhost | mysql.infoschema | caching_sha2_password |
     | localhost | mysql.session    | caching_sha2_password |
     | localhost | mysql.sys        | caching_sha2_password |
     | localhost | root             | auth_socket           |
     +-----------+------------------+-----------------------+

如何解决这些问题并为根用户设置密码?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-09 14:16:57

在MySQL 8.0中,caching_sha2_password是默认的身份验证插件,而不是mysql_native_password

您可以像下面这样更改根密码:

代码语言:javascript
复制
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'your_pass';

-- If first fail because you have changed default authentication plugin you can use mysql_native_password 

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_pass';

FLUSH PRIVILEGES;
票数 0
EN

Stack Overflow用户

发布于 2022-01-09 14:01:42

Mysql将允许(操作系统) root用户在没有密码的情况下登录,这是基于这样的原则:如果您是root用户,您无论如何都可以访问数据。如果您想测试非根用户登录,请不要使用sudo。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70642004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档