mysql主库用户密码登陆失败从库正常
问题描述:有业务反馈称数据库上的用户有的可以登陆,有的不能登录,是不是集群有问题。怎么会有这么奇怪的问题,是不是最大连接数达到限制了。
环境: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主库用户密码登陆失败从库正常的更多相关文章
- aud$定位错误用户密码登陆数据库的具体信息
环境:Oracle 11.2.0.3 客户端使用错误的用户密码登陆数据库 查询最近1天由于密码错误登陆失败的信息 查询当前审计中有哪些returncode值 1. 客户端使用错误的用户密码登陆数据库 ...
- 详解MySQL的用户密码过期功能
这篇文章主要为大家详细介绍了MySQL的用户密码过期功能的相关资料,需要的朋友可以参考下 Payment Card Industry,即支付卡行业,PCI行业表示借记卡.信用卡.预付卡.电子钱包. ...
- MySQL的用户密码过期功能详解
MySQL的用户密码过期功能详解 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 先说明两个术语. Payment Ca ...
- MySQL的用户密码过期功能
Payment Card Industry,即支付卡行业,PCI行业表示借记卡.信用卡.预付卡.电子钱包.ATM和POS卡及相关的业务. PCI DSS,即PCI数据安全标准(Payment Card ...
- 无法连接到服务器,用户xxx登陆失败"
无法连接到服务器,用户xxx登陆失败" 该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式, 因此用户无法使用SQL Server的登录 ...
- Mysql忘记用户密码的解决办法
1.1 忘记用户密码的解决办法 普通用户,直接用root超级管理员登录进去修改密码就可以了,但是如果root密码丢失了,怎么办呢? 1.1.1 msyqld_saft方式找回密码 停止mysql:se ...
- sql点滴43—mysql允许用户远程登陆
方法1 局域网连接mysql报错: ERROR 1130: Host '192.168.0.220' is not allowed to connect to this MySQL server 解 ...
- [mysql]忘记用户密码或者误删用户账号
修改你的my.ini或my.cnf文件,在 [mysqld] 节下加入下面一行 skip-grant-tables 然后保存并重启 MySQL 服务. /etc/init.d/mysql restar ...
- mysql修改用户密码
修改自己的密码(root用户,其它用户应该也差不多) 方法一: [root@localhost /]# mysqladmin -u root -p password "root" ...
随机推荐
- FreeRTOS --(16)资源管理之临界区
转载自 https://blog.csdn.net/zhoutaopower/article/details/107387427 临界区的概念在任何的 SoC 都存在,比如,针对一个寄存器,基本操作为 ...
- 最新 x86_64 系统调用入口分析 (基于 5.7.0)
最新 x86_64 系统调用入口分析 (基于5.7.0) 整体概览 最近的工作涉及系统调用入口,但网上的一些分析都比较老了,这里把自己的分析过程记录一下,仅供参考. x86_64位系统调用使用 SYS ...
- Shell脚本实战:日志关键字监控+自动告警
一个执着于技术的公众号 该程序使用场景说明:主要用于Linux服务器监控程序日志,如出现关键字异常则触发相应的动作或告警操作,通知到邮件联系人. 一.安装邮件服务 1.解压 tar -jxf mail ...
- C#实现登录功能(连接SQLServer数据库)
本例使用C#实现一个简单的登录功能,分为用户和管理员两个角色登录. 效果图: 核心代码 login.cs private void button1_Click(object sender, Event ...
- Java中如何快捷的创建不可变集合
在Java 9中又新增了一些API来帮助便捷的创建不可变集合,以减少代码复杂度. 本期配套视频:Java 9 新特性:快速定义不可变集合 常规写法 以往我们创建一些不可变集合的时候,通常是这样写的: ...
- 牛客多校赛2K Keyboard Free
Description 给定 \(3\) 个同心圆,半径分别为 \(r1,r2,r3\) ,三个点分别随机分布在三个圆上,求这个三角形期望下的面积. Solution 首先可以固定 \(A\) 点,枚 ...
- prop传值
将FooterMusic.vue中的play方法转到MusicDetail.vue中 用" :"v-bind 指令可以用于响应式地更新 HTML 特性:,在此进行动态赋值(play ...
- vue组件传参的方法--bus事件总线
定义:事件总线是实现vue任意组件之前传递参数的一种编程技巧,本质上就是组件的自定义事件.事件总线有很多种写法,具体的思路就是创造一个大家都可以访问到的公共的属性,在这个公共的属性上面可以调用$on, ...
- Redis集群搭建 三主三从 docker版 急速搭建
最近学习了docker 发现使用docker搭建一个redis非常的简单接下来就是搭建步骤 1.首先清空一下容器 #清空所有容器docker rm -f $(docker ps -aq) 2.然后创 ...
- 『忘了再学』Shell基础 — 25、扩展正则表达式
目录 1.扩展正则表达式说明 2.练习 (1)+和?练习 (2)|和()练习 3.注意(重点) 1.扩展正则表达式说明 熟悉正则表达式的童鞋应该很疑惑,在其他的语言中是没有扩展正则表达式说法的,在Sh ...