MySQL錯誤: could not retrieve transation read-only status server

來源:互聯網
上載者:User

標籤:sql   dev   隔離   cep   語句   錯誤   java代碼   標記   var   

問題描述: java代碼在開始事務後,先做了一個查詢,再insert,此時會報:         java.sql.SQLException: could not retrieve transation read-only status server

解決過程: 

        查看mysql的事物隔離等級 SHOW VARIABLES LIKE ‘%iso%‘;

        返回結果: REPEATABLE-READ


        把這個改成:READ-COMMITTED 就好了: SET GLOBAL tx_isolation=‘READ-COMMITTED‘; 

 (記得java重啟應用,要永久生效的就改my.ini設定檔)


問題分析:

        當資料庫隔離等級為REPEATABLE-READ時,查詢一個select語句也算是事物的開始,而且在hibernate裡會把以select語句開頭的事務標記為唯讀事務,此時在這個事務裡再執行insert、update、delete等DML語句就會報錯。


http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_tx_read_only



來自為知筆記(Wiz)

MySQL錯誤: could not retrieve transation read-only status server

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.