首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误1064 (42000):在SQL语法中有一个错误;希望将密码配置为root用户

错误1064 (42000):在SQL语法中有一个错误;希望将密码配置为root用户
EN

Stack Overflow用户
提问于 2016-03-19 07:21:10
回答 16查看 182.4K关注 0票数 51

我刚下载了WAMP。我希望使用MySQL控制台为MySQL根用户配置密码。以前没有设置过密码。

以下是输入

代码语言:javascript
复制
    mysql-> use mysql
    Database changed
    mysql-> UPDATE user
         -> SET Password=PASSWORD<'elephant7'>
         -> WHERE user='root';

错误1064 (42000):您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,以便在第3行的“WHERE user=‘root”附近使用正确的语法。

EN

回答 16

Stack Overflow用户

回答已采纳

发布于 2016-03-19 07:27:09

您可以使用:

代码语言:javascript
复制
SET PASSWORD FOR 'root' = PASSWORD('elephant7');

或者,在最新版本中:

代码语言:javascript
复制
SET PASSWORD FOR root = 'elephant7' 

您还可以使用:

代码语言:javascript
复制
UPDATE user SET password=password('elephant7') WHERE user='root';

但是在MySQL5.7中,字段密码不再存在,您必须使用:

代码语言:javascript
复制
UPDATE user SET authentication_string=password('elephant7') WHERE user='root';

问候

票数 43
EN

Stack Overflow用户

发布于 2019-07-02 05:11:24

我当时使用的是MySQL 8,而不是上面提到的。

这就是我必须做的:

代码语言:javascript
复制
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
票数 113
EN

Stack Overflow用户

发布于 2020-09-03 03:28:29

在MySQL 8.0.15 (可能也早于此)上,PASSWORD()函数不再工作了,所以您必须这样做:

确保您先停止了MySQL (转到:‘’>> 'MySQL‘并停止MySQL)。

使用权限旁路以安全模式运行服务器:

代码语言:javascript
复制
sudo mysqld_safe --skip-grant-tables
mysql -u root
UPDATE mysql.user SET authentication_string=null WHERE User='root';
FLUSH PRIVILEGES;
exit;

然后

代码语言:javascript
复制
mysql -u root
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'yourpasswd';

最后,再次启动MySQL。

在这个GitHub问题中受到@OlatunjiYso的启发。

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

https://stackoverflow.com/questions/36099028

复制
相关文章

相似问题

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