VIP连接失败主库连接成功尝试修改用户密码(组图)

问题描述:有业务反馈称数据库上的用户有的可以登录,有的不能登入,是不是集群有问题。如何会有如此奇怪的问题,是不是最大联接数达到限制了。

环境:keepalived+mysql5.7.37主从

登陆数据库发觉联接正常,测试登陆,确实存在部份用户可以登陆,部份用户登入失败的问题,主库IP以及VIP联接失败,并且从库却可以登入。在数据库上新建一个用户也不影响联接。

VIP联接失败

主库联接失败

从库联接成功

尝试更改用户密码,重新联接,还是同样

mysql> alter user psd_platform@'%' identified with mysql_native_password by 'Longshine#1';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

重建用户测试联接,还是联接失败。并且新建一个用户在分配同样的权限就没有问题

mysql> drop user psd_platform@'%';
Query OK, 0 rows affected (0.01 sec)
mysql> create user psd_platform@'%' identified by 'Longshine#1' with max_user_connections 140;
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on psd_platform.* to psd_platform@'%';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

查看此时的用户状态,显示帐号没有锁定

mysql> select * from mysql.user where user='psd_platform'G
*************************** 1. row ***************************
                  Host: %
                  User: psd_platform
           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: 140
                plugin: mysql_native_password
 authentication_string: *EC5019C6AE0F5C827BEEA4193D621F2076844729
      password_expired: N
 password_last_changed: 2022-07-13 14:56:18
     password_lifetime: NULL
        account_locked: N
1 row in set (0.00 sec)

忽然想上去,为何主库登陆和VIP登录失败,并且备库可以登陆成功,由于所有的联接都是通过VIP去联接主库的。有可能这个用户输入被主库拉黑了。之前布署过插件,connection_control_failed_login_attempts插件,密码输入错误延后登陆的插件,当你输入错误超过几次都会延后你用户的登入。

查看最小的延后登录时间达到了半个小时,所以在半个小时以后,该用户手动解锁,而且这些插件形式并不会让用户以account_lock的形式锁定用户,所以在查看mysql.user表的时侯,看不下来是否被锁定。

查看相关记录表,联接输错的联接信息information_schema.connection_control_failed_login_attempts表会记录发起联接的IP信息

有几个用户都存在问题,判定业务端在发起数据库联接的密码没有写对,被插件延后登录,最后给插件暂时卸载

mysql> uninstall plugin connection_control;
mysql> uninstall plugin connection_control_failed_login_attempts;

© 版权声明
THE END
喜欢就支持一下吧
点赞129赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容