设置密码时SQL语法出错

时间:2012-07-23 10:22:43

标签: mysql

我不知道这里有什么问题?

http://shrani.si/f/1y/rX/1GAMFf7B/untitled.jpg

3 个答案:

答案 0 :(得分:3)

您不应在mysql -u root之后按Enter键,而是键入\c取消它 然后在新提示上写下新的更新查询。

mysql> mysql -u root \c
mysql> update user set password = PASSWORD('value') where user = 'root';

答案 1 :(得分:0)

尝试将用户名(root)放在引号中 - 看起来像MySQL可能认为它是列而不是字符串值

答案 2 :(得分:0)

查看错误消息?它全力以赴地试着告诉你一些事情。实际上,SQL语法中存在错误:mysql root -u无效SQL。

换句话说,您正在将mysql客户端调用与MySQL查询混合使用。在mysql客户端中,最多;的所有内容都被视为一个查询(行尾不是命令分隔符)。因此,服务器正试图理解这个MySQL查询:

mysql root -u UPDATE mysql.user SET password='(...etc)'

,正如错误消息所解释的那样,无效的SQL。

仅运行以UPDATE开头的查询应该没问题。