翻译|节假日处理数据库集群异常小记( 二 )


>>select userhost from mysql.user where user='root';+------+----------------+| user | host           |+------+----------------+| xxxx| [中间件读写IP
|| xxxx| localhost      |+------+----------------+6 rows in set (0.00 sec)
明白了这个大坑之后 , 我开始逐个配置数据库账号并逐一在中间件端进行了验证测试 。

等待所有的数据节点都验证完毕之后 , 我重启中间件 , 只读中间件就好像唤醒了一般 , 反应很快 , 很酸爽 。

对于这个问题的原因 , 让我还是很感慨 , 这算是一个遗忘了近3年的问题 , 这期间因为一直没有重启过只读中间件 , 所以原本指向的数据库配置其实是错误的 , 虽然后续做了配置文件的热加载 , 但是数据源部分的信息其实一直没有更新 , 今天因为业务使用了大查询导致了中间件节点OOM接着触发了高可用机制 , 自动重启了中间件 , 但是重启之后连接的数据库权限全部失效 。
整个问题的处理过程还是比较快的 , 尤其是在一种半迷离的状态下逐步确定问题方向 , 让自己确认是数据库的配置和权限出了问题 , 这对于我来说着实是一种难以相信的事情 , 但是恰恰是这个问题 , 也暴露了很多潜在的风险和隐患 。

【翻译|节假日处理数据库集群异常小记】由此可见 , 之前听过的一种简单粗暴的经验是有道理的:一个运行多年的服务在3年左右还是需要重启一下 。