在mysql版本8中,从mysql cli调用mysql函数password时出错

c6ubokkw  于 2021-06-20  发布在  Mysql
关注(0)|答案(3)|浏览(689)

我使用的是mysql版本8.0
我试图从mysql cli调用password函数。所以我使用了以下命令:
mysql>选择密码('123');
但是在这个例子中我得到了以下错误:error1064(42000):您的sql语法有一个错误;在第1行的“('123')”附近,检查与mysql服务器版本相对应的手册,以获得正确的语法
我还尝试了以下方法:
mysql>选择密码(“123”);
mysql>选择密码(123);
但是每一个都给出了相同的错误。我也在谷歌上搜索了很多,但找不到任何解决方法。
我该怎么解决这个问题
你好,坦维尔

7kqas0il

7kqas0il1#

PASSWORD() 在5.7中被弃用,在版本8中被删除。更安全的密码处理方法是可用的,你应该考虑使用一个。

5ktev3wc

5ktev3wc2#

直接更新acl系统表(或任何系统表)不是一种可持续的做法。
为什么需要执行update mysql.user set password=hash('clear-text-password'),其中host='foo'和user='bar',后跟flush privileges(!)当你可以做的时候:改变用户foo@bar 由“明文密码”标识?

koaltpgm

koaltpgm3#

正如mysql关于password()函数的文档所说:
mysql 8.0.11中删除了此函数。
正如mysql文档所说,您应该使用alter user语句来更改密码:
alter user syntax是帐户更改(包括分配密码)的首选语句。例如:

ALTER USER user IDENTIFIED BY 'auth_string'

相关问题