我不知道这里有什么问题?
答案 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
开头的查询应该没问题。