Could not retrieve transation read-only status server「建议收藏」

背景最近在部署一套完整的项目,部署过程中遇到很多的问题,在来总结一些如标题的这个错误!环境说明: 使用分布式数据库,使用的是mysql!### Cause: java.sql.SQLException: Could not retrieve transation read-only status server; SQL []; Could not retrieve tran…

大家好,又见面了,我是全栈君。

背景

最近在部署一套完整的项目,部署过程中遇到很多的问题,在来总结一些如标题的这个错误!

  • 环境说明:
    使用分布式数据库,使用的是mysql!
### Cause: java.sql.SQLException: Could not retrieve transation read-only status server
; SQL []; Could not retrieve transation read-only status server; nested exception is java.sql.SQLException: Could not retrieve transation read-only status server, dubbo version: 2.5.3, current host: 127.0.0.1
org.springframework.dao.TransientDataAccessResourceException: 
### Error querying database.  Cause: java.sql.SQLException: Could not retrieve transation read-only status server

问题排查

因为项目的代码没有改动,目前这一套代码已经在生产上运行了,目前出现错误的原因在之前生产上没有遇到。

1、报错了,网上查相关资料

通过在网上查找资料,
有两种说法:
1)、修改 数据库的隔离级别,将 REPEATABLE-READ修改为READ-COMMITED.
2)、数据库和应用中数据库驱动(mysql驱动版本不一致)

###2、查看数据库信息

mysql> SHOW VARIABLES LIKE '%iso%';
+-----------------------+-----------------+
| Variable_name         | Value           |
+-----------------------+-----------------+
| transaction_isolation | REPEATABLE-READ |
| tx_isolation          | REPEATABLE-READ |
+-----------------------+-----------------+
mysql> select version();
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    662239
Current database: shop

+-----------------------------------+
| VERSION()                         |
+-----------------------------------+
| 5.7.21-dbproxy-4.0-20180412155855 |
+-----------------------------------+

发现数据库配置的确是REPEATABLE-READ,因为我不能随便改动这个数据库,数据库隔离级别这个业务有紧密的关系,那么首先从版本是否匹配进行解决,问了相关同事:

:你好, 5.7.21-dbproxy-4.0-20180412155855这个 版本的对mysql驱动有要求,最低mysql驱动是支持多少 ?
:5.1.27~5.1.35

查看了一下目前项目的mysql驱动配置,发现是 5.1.24 ,版本低于要求的版本。

3、 升级mysql驱动

对mysql版本进行升级,升级为 5.1.30,重新部署,发现还是报错,于是又升级到 5.1.32,部署后,发现不报错了。问题解决了!

总结

解决一个问题的方法可能有多种,选择一个最合适的方法,比如上面的这个问题,可能解决的方法的有两个,一个是修改mysql的隔离级别,一个修改应用的mysql驱动版本,那个对业务的影响更小的,那肯定是修改mysql驱动版本


如果您觉得这篇博文对你有帮助,请点赞或者喜欢,让更多的人看到,谢谢!

如果帅气(美丽)、睿智(聪颖),和我一样简单善良的你看到本篇博文中存在问题,请指出,我虚心接受你让我成长的批评,谢谢阅读!
祝你今天开心愉快!


欢迎访问我的csdn博客,我们一同成长!

不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!

博客首页 : http://blog.csdn.net/u010648555

© 每天都在变得更好的阿飞

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/121068.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Shell循环执行某命令n次

    Shell循环执行某命令n次如下脚本是打印’helloword!‘500次#!/bin/bashi=0times=500while[$i-le$times]doecho’helloword!’done

  • 无法创建文件夹或文件问题的解决的方法

    无法创建文件夹或文件问题的解决的方法

    2021年12月14日
  • Python数据分析的过程记录(二)

    Python数据分析的过程记录(二)Python数据分析的过程记录(二)文章目录Python数据分析的过程记录(二)一、需求介绍二、需求分析三、代码实现一、需求介绍二、需求分析三、代码实现

  • 全景视频拼接关键技术

    全景视频拼接关键技术一、原理介绍图像拼接(ImageStitching)是一种利用实景图像组成全景空间的技术,它将多幅图像拼接成一幅大尺度图像或360度全景图,图像拼接技术涉及到计算机视觉、计算机图形学、数字图像处理以及一些数学工具等技术。图像拼接其基本步骤主要包括以下几个方面:摄相机的标定、传感器图像畸变校正、图像的投影变换、匹配点选取、全景图像拼接(融合),以及亮度与颜色的均衡处理等

  • springmvc的工作流程

    springmvc的工作流程1、springmvc工作原理图2、springmvc工作流程1、用户向服务端发送一次请求,这个请求会先到前端控制器DispatcherServlet(也叫中央控制器)。2、DispatcherServlet接收到请求后会调用HandlerMapping处理器映射器。由此得知,该请求该由哪个Controller来处理(并未调用Controller,只是得知)3、DispatcherServlet调用HandlerAdapter处理器适配器,告诉处理器适配器应该要去执行哪个Controlle

  • 计算机蓝屏代码0x000000ED,电脑蓝屏代码0x000000ed解决步骤[通俗易懂]

    计算机蓝屏代码0x000000ED,电脑蓝屏代码0x000000ed解决步骤[通俗易懂]电脑蓝屏代码现象是我们在使用电脑中最常见的一种启动问题,令小白用户很头痛。比如,我们在启动电脑的时候,它并没有正常地启动,屏幕反而一片蓝色,出现了一串奇怪的代码:0x000000ed,怎么办?下面,小编给大伙演示电脑蓝屏代码0x000000ed的修复流程。电脑蓝屏代码0x000000ed怎么解决蓝屏代码0x000000ed原因分析:一般是由于磁盘存在错误导致的。有可能是电脑非常关机导致系统错误,…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号