mysql throw MySQL異常處理

2021-10-18 09:51:54 字數 825 閱讀 7988

跑資料流程這幾天總是出錯,暫時還沒有精力重構,先處理一些緊急的問題吧。鑑於目前問題都出在mysql執行查詢出錯的情況,決定對mysql_query進行封裝。封裝函式如下。

目前只處理2006錯誤,對於1317錯誤,只有重試的方法,以後再補充。

對於2006錯誤,需要重連mysql,但是有一點需要注意的是,在重連之前一定要先關閉之前的連線,否則永遠報2006錯誤

之前沒寫過異常處理,try{}catch(){},嘿嘿,用了一下就會了。

* @param $sql 需要執行的sql語句

* @param $link 資料庫連線

* @param $conn 使用線上還是線下資料庫,預設為線下 online:線上 offline:線下

function dh_mysql_query($sql, &$link=null, $db) catch(exception $e)else while(!$ret && $i<5);

if(!$ret){

$ec = mysql_errno();

$err = mysql_error();

$desc = json_encode(array('event'=>'mysql query error','sql'=>$sql,'errno'=>$ec,'errmsg'=>$err,'debug_info'=>debug_backtrace(true)));

write_log($desc);

//curl_send_msg('13691102775',$desc);

//exit($desc);

return $ret;

以後再補充針對mysql其他錯誤的處理方式

mysql 丟擲異常sql mysql 異常處理

該文章內容通過網路搜尋組合,mysql 異常,可以自定義異常,再應用。也可使用系統預設的異常,捕獲應用。一 異常定義 declare condition name condition for condition type condition name引數表示異常的名稱 condition type引...

mysql 多異常 處理 MYSQL效能異常處理

通過information schema.processlist表中的連線資訊生成需要處理掉的mysql連線的語句臨時檔案,然後執行臨時檔案中生成的指令 mysql select concat kill id,from information schema.processlist where use...

spark on yarn 模式在hdp異常處理

其中乙個異常關鍵字 bad substitution 然後在stackoverflow發現相同提問,文中提到是因為沒有制定hdp版本,我才明白spark bin hadoop,編譯的是原生態的hadoop。英文應該都懂,我就不用翻譯了。正常情況遇見問題,不應該直接在網上找答案,診斷流程 從log或者...