修改密码时Mysql报错1064
Posted
技术标签:
【中文标题】修改密码时Mysql报错1064【英文标题】:Mysql error 1064 while changing password 【发布时间】:2018-08-09 11:38:59 【问题描述】:在尝试按照this 解决方案中给出的步骤更改mysql密码时,我收到以下错误-
mysql> UPDATE mysql.user SET authentication_string = PASSWORD('letsrock') WHERE User = 'root' AND Host = 'localhost';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('letsrock') WHERE User = 'root' AND Host = 'localhost'' at line 1
mysql 中是否有更新命令的新语法或什么?我使用的是 8.0.12 版本。
【问题讨论】:
您找到解决方案了吗?我面临着类似的问题。 【参考方案1】:'user' 和 'host' 都是保留字,如果不将它们括在反引号中,就不能用作标识符。像这样:
UPDATE mysql.user
SET authentication_string = PASSWORD('letsrock')
WHERE `User` = 'root' AND `Host` = 'localhost';
见:https://dev.mysql.com/doc/refman/8.0/en/keywords.html
【讨论】:
保留字,具体来说。 啊,是的,当然。最好在每个单词后面加上(K)和(W),而不是在“保留关键字”后面只有一个(R),因为“保留词”也以“R”开头......我改变了答案.以上是关于修改密码时Mysql报错1064的主要内容,如果未能解决你的问题,请参考以下文章
关于mysql修改密码 set password for root@localhost = password('xxx');报错解决方法