問:關于工單 后續的問題,我們數據庫服務器又出現了主從同步問題,這個問題已經反饋多次了,現在導致我們的數據已經混亂了!,關于工單 后續的問題
答:您好,
T07:33:58.358652Z 3 [ERROR] Slave SQL for channel \’\’:
Worker 1 failed executing transaction \’5c8e2f18-dffc-11ec-bf5aab:\’
at master log binlog.000053, end_log_pos ; Error \’Row 128 was cut by GROUP_CONCAT()\’ on query.
Default database: \’jiacheng\’. Query: \’/* ApplicationName=DataGrip 2022.3 */
UPDATE new_life_insurance.t_commission as tc
今天下午15:33:58秒,您執行了一條錯誤的sql導致主從同步異常終止,new_life_insurance表實際是不存在的, 請問您是做的什么操作?
是否是在執行導入數據?導入的sql語句中是否包含
如SET @@SESSION.SQL_LOG_BIN=0;或SET @@GLOBAL.GTID_PURGED=XX語句?
當前是跳過了這條事務,如果主從數據不同步,現在可以關機從庫服務器,重新從主庫同步一次數據,非常感謝您長期對我司的支持!
問:我們執行過
SET SESSION group_concat_max_len這個語句, 這個語句是否會導致主從失敗
答:您好,SET SESSION group_concat_max_len這個語句只是針對當前有效,不會同步到從庫執行,導致后面的sql因過長而執行失敗,請問您需要設置多長, 我們現在直接幫您改全部my.cnf來設置,另外, 也需要避免執行一些錯誤的sql,非常感謝您長期對我司的支持!
問:我們現在設置的是
SET SESSION group_concat_max_len = ;
這個SQL同步失敗會導致主從同步中止嗎?
然后就哪些情況會導致主從同步失敗? 我們以后注意一下.
最后一個問題就 是不是我們以后遇到了,可以先重啟,然后再讓你們找問題,還是需要留下現場等你們先看了再重啟?
答:您好,
1.已經幫您設置全局group_concat_max_len =
2.默認執行了錯誤的sql語句就會導致主從同步終止,所以需要您那邊注意,導入數據,以及程序中保證sql語句的正確性,涉及到一些修改全局參數的時候,需要聯系我們先進行全局修改,再去執行sql語句
3.遇到主從同步終止,需要查明原因,簡單的重啟庫不能解決終止的問題,一般需要核實最后執行的什么語句導致終止的, 不重要的語句可跳過當前事務恢復同步,如果無法挽回的一些錯誤,最終將只能由我們來關閉從庫服務器,重新從主庫打包恢復從庫數據,讓主從數據保持一致,非常感謝您長期對我司的支持!
問:麻煩再問一個問題,我們這邊每個星期都會運行這個語句, 會不會導致主從失敗?
SET SESSION max_heap_table_size=2048*1024*1024
答:您好,運行SET SESSION max_heap_table_size=2048*1024*1024語句不會直接導致主從同步失敗,而是因為這個語句不會傳導到從庫執行,如果您接下來的sql語句超過了默認max_heap_table_size,主庫因為修改了max_heap_table_size值而可以成功執行,但從庫因為沒有修改max_heap_table_size值,可能就會導致執行sql語句失敗,從而主從同步停止;
如果需要,請確認是否現在幫您把主從服務器全局參數max_heap_table_size改為2048*1024*1024,非常感謝您長期對我司的支持!
問:麻煩在問個問題, 我用datagrip鏈接數據庫的時候, 每次切換了數據庫查詢的時候, 都會從選擇的數據庫跳轉到默認的數據庫, 請問這個你們知道怎么解決嗎
執行SQL后,數據庫變成默認, 導致查詢的SQL找不到包, 然后查詢失敗
答:您好,抱歉, 我們沒用過datagrip,您可以試試其他數據庫管理工具,如dbeaver,我們測試是可以任意切換數據庫的,非常感謝您長期對我司的支持!