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

环境:keepalived+mysql 5.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;

mysql主库用户密码登陆失败从库正常的更多相关文章

  1. aud$定位错误用户密码登陆数据库的具体信息

    环境:Oracle 11.2.0.3 客户端使用错误的用户密码登陆数据库 查询最近1天由于密码错误登陆失败的信息 查询当前审计中有哪些returncode值 1. 客户端使用错误的用户密码登陆数据库 ...

  2. 详解MySQL的用户密码过期功能

    这篇文章主要为大家详细介绍了MySQL的用户密码过期功能的相关资料,需要的朋友可以参考下   Payment Card Industry,即支付卡行业,PCI行业表示借记卡.信用卡.预付卡.电子钱包. ...

  3. MySQL的用户密码过期功能详解

    MySQL的用户密码过期功能详解 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 先说明两个术语. Payment Ca ...

  4. MySQL的用户密码过期功能

    Payment Card Industry,即支付卡行业,PCI行业表示借记卡.信用卡.预付卡.电子钱包.ATM和POS卡及相关的业务. PCI DSS,即PCI数据安全标准(Payment Card ...

  5. 无法连接到服务器,用户xxx登陆失败"

    无法连接到服务器,用户xxx登陆失败" 该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式, 因此用户无法使用SQL Server的登录 ...

  6. Mysql忘记用户密码的解决办法

    1.1 忘记用户密码的解决办法 普通用户,直接用root超级管理员登录进去修改密码就可以了,但是如果root密码丢失了,怎么办呢? 1.1.1 msyqld_saft方式找回密码 停止mysql:se ...

  7. sql点滴43—mysql允许用户远程登陆

     方法1 局域网连接mysql报错: ERROR 1130: Host '192.168.0.220' is not allowed to connect to this MySQL server 解 ...

  8. [mysql]忘记用户密码或者误删用户账号

    修改你的my.ini或my.cnf文件,在 [mysqld] 节下加入下面一行 skip-grant-tables 然后保存并重启 MySQL 服务. /etc/init.d/mysql restar ...

  9. mysql修改用户密码

    修改自己的密码(root用户,其它用户应该也差不多) 方法一: [root@localhost /]# mysqladmin -u root -p password "root" ...

随机推荐

  1. [题解] 51 nod 1340 地铁环线

    不难看出这是一道差分约束的题目. 但是如果想按照通常的题目那样去建边的话,就会发现这句话--相邻两站的距离至少是1公里--建边后就直接让整个题出现了负环(默认是按求最短路建边),没法做了. 这时我们就 ...

  2. Centos 7防火墙策略配置指南

    Centos 7防火墙策略配置指南 -- 清听凌雪慕忆 @ 目录 1. 开启防火墙 1.1 user切换到root用户 1.2 查看防火墙服务状态 1.3 查看firewall的状态 1.4 启动/关 ...

  3. python写一个能变身电光耗子的贪吃蛇

    python写一个不同的贪吃蛇 写这篇文章是因为最近课太多,没有精力去挖洞,记录一下学习中的收获,python那么好玩就写一个大一没有完成的贪吃蛇(主要还是跟课程有关o(╥﹏╥)o,课太多好烦) 第一 ...

  4. 如何在 pyqt 中解决启用 DPI 缩放后 QIcon 模糊的问题

    问题描述 如今显示器的分辨率越来越高,如果不启用 DPI 缩放,软件的字体和图标在高分屏下就会显得非常小,看得很累人.从 5.6 版本开始,Qt 便能支持 DPI 缩放功能,Qt6 开始这个功能是默认 ...

  5. 为什么 io 包一般以 byte 数组做为处理单位?

    为什么 io 包一般以 byte 数组做为处理单位? 本文写于 2021 年 9 月 7 日 编程语言中时常会出现 []byte 作为类型的操作.特别是在网络传输或是 io 操作中,例如 socket ...

  6. 什么叫做 SSO

    什么叫做 SSO 本文写于 2020 年 12 月 8 日 SSO 的全称叫做 Single Sign On,意味「单点登录」. 何为单点登录?就是你希望自己的两个网站,可以做到:一个网站登录了,另一 ...

  7. if判断+while循环

    1.常量​ ​纯大写字母命名常量名,如:AGE_OF_OLDBOY=18 常量的值是可以改变的,如:AGE_OF_OLDBOY=19 2.基本运算符 (1).算术运算​ +.-.*./​ ​      ...

  8. 零基础学Java第四节(字符串相关类)

    本篇文章是<零基础学Java>专栏的第四篇文章,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! String 本文章首发于公众号[编程攻略] 在Java中,我们经 ...

  9. 学习Linux须知1.2之Linux命令的实战

    (一)学习Linux 的准备工作 1.在线学习linux 学习网站推荐:Linux 基础入门_Linux - 蓝桥云课 (lanqiao.cn) 2.连接远程服务器学习[下文的案例就是使用xshell ...

  10. Vue2-组件通讯传值

    Vue2组件通讯传值 方法 Slot插槽--父向子内容分发,子组件只读 mixin混入--定义公共变量或方法,mixin数据不共享,组件中mixin实例互不影响 provide+inject--依赖注 ...