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

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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • toArray()方法使用说明「建议收藏」

    toArray()方法使用说明「建议收藏」ArrayList提供了一个将List转为数组的一个非常方便的方法toArray。toArray有两个重载的方法:1.list.toArray();2.list.toArray(T[] a);对于第一个重载方法,是将list直接转为Object[]数组;第二种方法是将list转化为你所需要类型的数组,当然我们用的时候会转化为与list内容相同的类型。

    2022年5月15日
    50
  • 计算机存储单位的换算关系是_每个存储单位是变化长度吗

    计算机存储单位的换算关系是_每个存储单位是变化长度吗1TB=1024GB1GB=1024MB1MB=1024KB1KB=1024B1B=8b计算机存储单位一般用bit、B、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB……来

    2022年8月5日
    3
  • Latex 公式换行问题(换行,等号对齐)

    Latex 公式换行问题(换行,等号对齐)Latex公式换行问题(换行,等号对齐)作为一个研究生肯定避免不了写论文,在这个过程中latex使用就尤为重要,他会帮助你们实现期刊格式要求的排版。今天就简单说一下我在写论文过程中遇到的问题之一,公示太长需要换行的问题,并且是连等公示,每个等号在还行之后都需要对齐。方法是使用:\begin{equation}\begin{aligned}……\end{aligned}\end{

    2022年5月15日
    151
  • docker离线安装部署 linux_docker官方中文文档

    docker离线安装部署 linux_docker官方中文文档linux下离线安装docker一、基础环境1、操作系统:centos7.32、docker版本:18.06.1官方下载地址(打不开可能很慢)4、官方参考文档:二、docker安装1、解压tar-xvfdocker-18.06.1-ce.tgz2、将解压出来的docker文件内容移动到/usr/bin/目录下mvdocker/*/usr/bin/3、将docker注册为servic…

    2022年9月26日
    0
  • c比python快多少倍_python和c++哪个简单

    c比python快多少倍_python和c++哪个简单国外有测试指出在相同复杂度算法中,C++约比Python快50倍左右。因此Python适合上层应用;C++则适合底层控制。本文介绍如何让C++和Python形成优势互补

    2022年10月5日
    0
  • 页面返回顶部代码_网页回到顶部代码

    页面返回顶部代码_网页回到顶部代码网站添加返回顶部有好几种,下面我简单介绍下:1使用文字添加方法最简单的是:最简单的“返回顶部”代码就是“返回顶部”(不包括引号),(0,0)代表座标,第一位是水平,第二位是垂直,(0,0)就表示网页左上角,文字部分(返回顶部)可以自由替换成自己需要的内容,比如也可以用“TOP”都可以。

    2022年10月6日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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