所有,这可能是一个简单的修复程序,但我似乎无法使其正常工作...
我正在尝试在RHEL上设置MySQL数据库,但出现以下错误:
mysql> SELECT 1;
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
mysql> SET PASSWORD = PASSWORD('new_pass');
ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number
mysql> SELECT PASSWORD('new_pass');
ERROR 1820 (HY000): You must SET PASSWORD before executing this statement
Run Code Online (Sandbox Code Playgroud)
我已经尝试了所有可能的命令/查询,但无法绕过这两个错误消息。也许我的权限有问题?有什么想法吗?谢谢!
小智 12
如果你想更改mysql的密码,你应该使用如下命令代码,
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('New_Password');
Run Code Online (Sandbox Code Playgroud)
用这个 SET old_passwords = 0;
old_passwords系统变量值确定PASSWORD()使用的哈希方法。如果SET PASSWORD拒绝使用的密码格式不正确,则可能需要更改old_passwords才能更改哈希方法。例如,如果该帐户使用mysql_native_password插件,则old_passwords值必须为0:
SET old_passwords = 0; 为'jeffrey'@'localhost'设置密码= PASSWORD('mypass'); 如果old_passwords值与身份验证插件所需的值不同,则PASSWORD()返回的哈希密码值对该插件不可接受,并且尝试设置密码会产生错误。例如:
mysql> SET old_passwords = 1; mysql>为'jeffrey'@'localhost'设置密码= PASSWORD('mypass'); 错误1372(HY000):密码哈希应为41位十六进制数字允许的old_passwords值将在本节后面介绍。
使用OLD_PASSWORD()函数(仅在MySQL 5.7.5之前允许):
| 归档时间: |
|
| 查看次数: |
16578 次 |
| 最近记录: |