我使用的是mysql版本8.0
我试图从mysql cli调用password函数。所以我使用了以下命令:
mysql>选择密码('123');
但是在这个例子中我得到了以下错误:error1064(42000):您的sql语法有一个错误;在第1行的“('123')”附近,检查与mysql服务器版本相对应的手册,以获得正确的语法
我还尝试了以下方法:
mysql>选择密码(“123”);
mysql>选择密码(123
);
但是每一个都给出了相同的错误。我也在谷歌上搜索了很多,但找不到任何解决方法。
我该怎么解决这个问题
你好,坦维尔
3条答案
按热度按时间7kqas0il1#
PASSWORD()
在5.7中被弃用,在版本8中被删除。更安全的密码处理方法是可用的,你应该考虑使用一个。5ktev3wc2#
直接更新acl系统表(或任何系统表)不是一种可持续的做法。
为什么需要执行update mysql.user set password=hash('clear-text-password'),其中host='foo'和user='bar',后跟flush privileges(!)当你可以做的时候:改变用户foo@bar 由“明文密码”标识?
koaltpgm3#
正如mysql关于password()函数的文档所说:
mysql 8.0.11中删除了此函数。
正如mysql文档所说,您应该使用alter user语句来更改密码:
alter user syntax是帐户更改(包括分配密码)的首选语句。例如: