在 Mysql 8.0.19 中设置 authentication_string

在 Mysql 8.0.19 中设置 authentication_string

尝试重置 root 的密码时,我最终看到以下行:

update user set authentication_string=password('1234') where user='root'

这导致平均语法错误

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 '('1234') where user='root''

password('1234')用替换'1234'有效,所以看起来好像缺少了“密码”功能。那么我该如何散列我的密码呢?

答案1

使用ALTER_USER而不是SET authentication_string

更改用户'root'@'localhost',标识为'1234';

答案2

没有工作相同的错误。mysql> 更改用户设置身份验证字符串 = 密码('Imag@123')其中用户 = 'root'; 错误 1064(42000):您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以了解在第 1 行附近'set authentication_string=password('Imag@123')其中用户 = 'root'' 的正确语法

相关内容