当前位置: 首页 > 面试题库 >

MySQL不允许用户登录:错误1524

鲜于渊
2023-03-14
问题内容
Server version: 5.7.10 MySQL Community Server (GPL)

在MySQL中,我有一个html" target="_blank">用户芒果。当我创建它时,用户可以完美地工作。但是,重新启动计算机后,尝试登录芒果会产生以下输出:

$ 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

提供--force选项,mysql_upgrade即使已经完成升级,也将重新应用升级脚本。如果从备份进行部分还原,则可能需要这样做。

同样值得一提的是,更改用户密码的命令在MySQL 5.7.6 / MariaDB 10.2.0及更高版本中已更改:

ALTER USER mangos IDENTIFIED BY 'mangos';

尽管SET PASSWORD尚未正式弃用较旧的语法,但现在这是设置密码的首选方法。



 类似资料:
  • 我使用cakephp2.1和我在UsersController中使用登录操作如下。 和登录名。ctp代码如下。 当使用电子邮件和密码提交表单时,用户无法登录,因此显示错误“无效电子邮件或密码,请重试”。就连我都把这美元给递了-

  • 现在,我只想让那些已经注册并用我们的软件验证过的用户登录,我已经将用户的电子邮件列表(去掉特殊字符)保存在Firebase内部。当前,当用户登录时,我使用以下功能检查他们的邮件是否在此列表中: 虽然这种方法起作用,但它相当笨拙,因为用户仍然能够在函数回调被调用之前进行初始登录,并且他们的电子邮件仍然显示在FireBase中的“Authentication”选项卡中。 有没有更好的方法只允许预先验证

  • 我已经创建了一个登录名。html页面和登录名。php脚本。在脚本中,它将首先获得我们输入的用户名和密码,然后使用数据库检查用户名或密码是否存在,如果用户有效,则它将检查他的部门id,并使用部门权限打开他们的页面,但问题是无论他们的部门是什么,都会一直打开管理页面。请帮我做这件事。 这是我的login.html代码 登录。php脚本

  • 我目前有一个WP站点设置,安装了一个独特的“multisite”插件,专门用于WooCommerce产品的一个管理区域,但有两个不同的前端,基于两个不同的域,具有不同的主题。 其中一个站点是“批发”站点,而另一个是“零售”站点。批发网站只允许交易客户进行购买。问题在于这两个站点共享一个域,因此用户帐户。 问题:我需要确保,如果没有用户角色“trade_customer”的用户尝试登录批发网站,则会

  • 使用了不正确的密钥 用户名不正确。这是一个Ubuntu映像,我尝试了“Ubuntu”、“ec2-user”和我在机器上为自己创建的新用户名。没有工作;所有错误消息都相同。 两个实例都建议尝试:,这是我过去一直采用的方法....直到我重新启动了我的客户机。从那以后,我得到了附加的ssh跟踪。 我尝试了第二级的尝试,从我被锁定的服务器创建AMI,旋转一个新实例,创建一个新密钥,并尝试登录到新实例。没运

  • 我正在尝试使用angularJs和$http发布一个表单。post方法。但每当我执行此函数时,它都会给我以下错误:加载资源失败:服务器响应状态为405(不允许使用方法),我不知道该怎么办。(Im使用visual studio 2015)