尝试重置 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'' 的正确语法