mysql 案例 ~ 常見程序端報錯案例彙總

一 簡介:彙總程序報錯提示的相關問題
java

    問題 1 程序錯誤信息 max_allowed_packet 設置太小致使java程序寫入失敗
    答案  1 max_allowed_packet=32M 寫入配置文件並重啓
              2 set global max_allowed_packet=33554432
    問題2 mysql錯誤日誌 sort
    錯誤日誌:
    [ERROR] /usr/local/mysql/bin/mysqld: Sort aborted: Query execution was interrupted
    分析 sort_buffer_size默認2M,一般用於order by。屬於session獨享.個人推測是因爲某個session會話致使的,一般狀況下,是不會報錯的
    解決: 定位慢日誌,優化慢sql.由於sort_buffer_size是session獨享,不建議調節太大
    問題3 程序執行事務時,報max_binlog_cache不足問題
    具體錯誤描述 ulti-statement TRANSACTION required more THAN 'max_binlog_cache_size' bytes of STORAGE、
     分析 1 事務根據生成binlog cache的大小算做事務的大小,由max_binlog_cache_size控制mysql

             2 max_binlog_cache_size 默認大小爲32Ksql

             3 max_binlog_cache_size 是session級別獨享的緩存

    總結 1 調整 參數大小 2 對大事務進行拆分 session

    補充優化

    1 Binlog_cache_disk_use表示由於咱們binlog_cache_size設計的內存不足致使緩存二進制日誌用到了臨時文件的次數ui

        Binlog_cache_use 表示 用binlog_cache_size緩存的次數設計

     2 當對應的Binlog_cache_disk_use 值比較大的時候 咱們能夠考慮適當的調高 binlog_cache_size 對應的值日誌

   問題3 jdbc報鏈接錯誤問題code

   具體錯誤描述 error code [1094]; Unknown thread id: 73125270; nested exception is java.sql.SQLException: Unknown thread id: 73125270

   分析 1 根據官網能夠查看的錯誤代碼解釋,不過沒什麼用

           2 通過與研發溝通,確認研發設置了jdbc超時時間

  總結 jdbc超時時間的設置,一旦sql自己超過超時時間的設置,會發送kill session信息請求,致使jdbc報錯

   優化你的sql或者將超時時間設大都有助於錯誤的減小出現

相關文章
相關標籤/搜索