Server version: 5.7.10 MySQL Community Server (GPL)
在MySQL中,我有一个用户mangos。当我创建它时,用户工作得很好。不过,重新启动计算机后,尝试登录 mangos 会产生以下输出:
$ mysql -u mangos -p
Enter password:
ERROR 1524 (HY000): Plugin '*some_random_long_hash_I_cannot_remember' is not loaded
$
这让我想起了密码哈希,所以在调查 mysql.user 后,我发现 mangos 没有密码! 我更新了密码:
SET PASSWORD FOR 'mangos'@'127.0.0.1' = PASSWORD('mangos');
FLUSH PRIVILEGES;
现在,我得到:
ERROR 1524 (HY000): Plugin '*3FBBDB84EA2B2A0EA599948396AD622B7FF68183' is not loaded
3FBBDB84EA2B2A0EA599948396AD622B7FF68183
与 mangos 的 mysql.user 密码栏中显示的数字相同,但与原来的数字不同。我还是无法登录。
如何让 MySQL 正确识别密码?这也是这里的问题吗?
编辑:
mysql> SELECT * FROM mysql.user WHERE user = 'mangos' \G
*************************** 1. row ***************************
Host: localhost
User: mangos
Password: *3FBBDB84EA2B2A0EA599948396AD622B7FF68183
Select_priv: N
Insert_priv: N
Update_priv: N
Delete_priv: N
Create_priv: N
Drop_priv: N
Reload_priv: N
Shutdown_priv: N
Process_priv: N
File_priv: N
Grant_priv: N
References_priv: N
Index_priv: N
Alter_priv: N
Show_db_priv: N
Super_priv: N
Create_tmp_table_priv: N
Lock_tables_priv: N
Execute_priv: N
Repl_slave_priv: N
Repl_client_priv: N
Create_view_priv: N
Show_view_priv: N
Create_routine_priv: N
Alter_routine_priv: N
Create_user_priv: N
Event_priv: N
Trigger_priv: N
Create_tablespace_priv: N
ssl_type:
ssl_cipher:
x509_issuer:
x509_subject:
max_questions: 0
max_updates: 0
max_connections: 0
max_user_connections: 0
plugin: *3FBBDB84EA2B2A0EA599948396AD622B7FF68183
authentication_string: NULL
password_expired: N
最佳答案
您的用户表似乎已损坏。您提到的重新启动可能会触发 MySQL 升级,并且 mysql_upgrade
脚本未运行。这应该可以解决这种情况:
mysql_upgrade -u root -ppassword --skip-grant-tables
mysql -u root -ppassword -e "UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'mangos'; FLUSH PRIVILEGES"
来源:http://kb.odin.com/en/126676
为mysql_upgrade
提供--force
选项将重新应用升级脚本,即使升级已经完成。从备份部分恢复时可能需要这样做。
还值得一提的是,更改用户密码的命令已在 MySQL 5.7.6 中更改。/MariaDB 10.2.0并转发:
ALTER USER mangos IDENTIFIED BY 'mangos';
尽管旧的 SET PASSWORD
语法尚未正式弃用,但现在这是设置密码的首选方法。
关于MySQL 不允许用户登录 : Error 1524,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38339646/