应用端报 Could not retrieve transaction read-only status from server
原因:
当数据库隔离级别为 REPEATABLE-READ
时,查询一个 SELECT
语句也算是事物的开始,而且在一些 JAVA 框架里会把以 SELECT 语句开头的事务标记为只读事务,此时在这个事务里再执行 INSERT
、UPDATE
、DELETE
等 DML
语句就会报错。
处理方式:
- 检查程序连接时是否使用了
select @@session.tx_read_only
; - 更新
mysql-connector
包
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。