[随手记录]Mariadb 下root加密方式导致业务报错 Access denied for user ‘root‘@‘localhost‘ (using password: YES)

0x0 场景

昨天测试一半的业务因为授权问题终止,因是虚拟机也没有关机直接下班了,第二天发现业务无法正常访问,但是数据库端口网页8443端口正常,查看业务相关的服务状态发现好几个服务下均有数据库连接被拒绝的相关报错:

服务状态下报错:

Access denied for user 'root'@'localhost' (using password: YES)

数据库状态下报错:

[Warning] Access denied for user 'root'@'localhost' (using password: YES)

监听日志:
tail -f /var/log/messages 多窗口开启日志滚动,浏览器访问业务发现报错

Access denied for user 'root'@'localhost' (using password: YES)

注:此时数据库是可以正常连接的。

0x1 排查

因排除数据库端口冲突、排除网络IP地址冲突、数据库可以正常本地和远程登录排除数据库故障,又因报错是拒绝连接相关,所以排查方向往root密码重置、root登录权限方向。

查看root用户密码:

SELECT user, password FROM user WHERE User = 'root';

在这里插入图片描述
发现root 密码全部为空,重新设置一下root密码

update user set password=password('123')where user='root';
flush privileges;

在这里插入图片描述
重新重启数据库服务再次访问业务发现还是404,重启服务器后还是报错。

查看root主机访问权限:

select host,user from mysql.user where user='root';

在这里插入图片描述
无异常

查看root加密方式:

select user, plugin from mysql.user;

在这里插入图片描述
发现root角色加密方式没有全部统一;

update mysql.user set authentication_string=PASSWORD('123'), plugin='mysql_native_password' where user='root';

在这里插入图片描述
退出数据库重启数据库服务,然后浏览器访问业务恢复正常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值