如何讓MySQL崩潰時生成正確的coredump

時間 2022-07-12 01:50:07

1樓:愛可生雲資料庫

檢視 error log:

我們拿到了崩潰位置0xee36f1,如何找到與之相對的**位置呢?

找臺測試機,獲取對應版本的安裝包:

解壓:然後用 gdb 開啟 mysqld:

在 0xee36f1 位置打一個斷點:

我們可以看到,gdb 將崩潰位置的檔名和行號都列印出來,

剩下的事情,就可以交給開發工程師,按照這個崩潰堆疊來進行問題排查。

贈送章節

紅框內的這串資訊是什麼?我們來解開看一下,

這段資訊分為兩段,"+0x71" 是一個偏移量,前面是一串文字,我們將文字解析出來:

可以看到前面這串文字是一個函式簽名的編碼,用 c++filt 還原編碼以後,可以看到完整的函式簽名。

紅框內的這串資訊的意思就是崩潰位置是 一個函式起始位置 + 偏移量。

我們大概可以猜到,這個 mysql 的缺陷是在為 binlog 產生新的檔名時發生的。

小貼士:

函式起始位置 + 偏移量 是一種記憶體位置的表示方法,但該位置不一定是這個函式內的**。

以本例來說,0xee36f1 這個位置,程式找到了就近的函式 generate_new_name 的起始位置,計算出有 0x71 這麼多偏移,就表示成了 generate_new_name+0x71 這種形式。

但 0xee36f1 這個位置的**,大概率是,但,不一定是 generate_new_name 這個函式內部的一段**。

2樓:鄭渝搞笑語錄

為了讓mysql崩潰時生成正確的coredump,除了要按前一篇中講到的那樣配置好系統環境,還需要在啟動mysqld時指定--core-file引數。這一配置非常重要,若不指定這一引數,則mysql崩潰時有時能生成coredump,有時不能生成

如何讓mysql崩潰時生成正確的coredump

請教mysql 執行查詢語句時資料庫崩潰重啟問題

3樓:愛可生雲資料庫

mysql 隨著版本不停迭代,崩潰的現象越來越少,也越來越隱蔽。

一旦遇到生產環境上的 mysql 崩潰,就需要保留現場資訊,供分析用。雖然 mysql 的 error log 中會列印部分資訊,但對於比較隱蔽的崩潰,往往顯得力不從心。

通過開啟作業系統級別、放開使用者限制、啟用 mysql 引數三個步驟,我們啟用了 mysql 的 coredump 功能,使得 mysql 崩潰時留下了足夠的線索。

對於複雜崩潰的分析,還是需要將 coredump 交給專業的研發工程師手裡,或者提交給 mysql 開發團隊。

不過不管是什麼場景,能提供一份 coredump,所有技術人員都會感謝你的。

mysql資料庫崩潰怎麼辦

4樓:上官三雲

1、先通過mysqldump把資料庫做備份2、導致資料庫崩潰的原因

3、沒必要安裝兩個,重新建一個資料庫即可;

4、裝兩個也有風險 一不小心你裝的那個覆蓋了另一個或者在你裝的過程中磁碟崩潰了

5、建議定義通過mysqldump備份資料庫如果在同一臺機器上安裝兩個mysql,相互間會有影響嗎!

5樓:愛可生雲資料庫

mysql 隨著版本不停迭代,崩潰的現象越來越少,也越來越隱蔽。

一旦遇到生產環境上的 mysql 崩潰,就需要保留現場資訊,供分析用。雖然 mysql 的 error log 中會列印部分資訊,但對於比較隱蔽的崩潰,往往顯得力不從心。

通過開啟作業系統級別、放開使用者限制、啟用 mysql 引數三個步驟,我們啟用了 mysql 的 coredump 功能,使得 mysql 崩潰時留下了足夠的線索。

對於複雜崩潰的分析,還是需要將 coredump 交給專業的研發工程師手裡,或者提交給 mysql 開發團隊。

不過不管是什麼場景,能提供一份 coredump,所有技術人員都會感謝你的。

如何生成coredump檔案

6樓:愛可生雲資料庫

檢視 error log:

我們拿到了崩潰位置0xee36f1,如何找到與之相對的**位置呢?

找臺測試機,獲取對應版本的安裝包:

解壓:然後用 gdb 開啟 mysqld:

在 0xee36f1 位置打一個斷點:

我們可以看到,gdb 將崩潰位置的檔名和行號都列印出來,

剩下的事情,就可以交給開發工程師,按照這個崩潰堆疊來進行問題排查。

贈送章節

紅框內的這串資訊是什麼?我們來解開看一下,

這段資訊分為兩段,"+0x71" 是一個偏移量,前面是一串文字,我們將文字解析出來:

可以看到前面這串文字是一個函式簽名的編碼,用 c++filt 還原編碼以後,可以看到完整的函式簽名。

紅框內的這串資訊的意思就是崩潰位置是 一個函式起始位置 + 偏移量。

我們大概可以猜到,這個 mysql 的缺陷是在為 binlog 產生新的檔名時發生的。

小貼士:

函式起始位置 + 偏移量 是一種記憶體位置的表示方法,但該位置不一定是這個函式內的**。

以本例來說,0xee36f1 這個位置,程式找到了就近的函式 generate_new_name 的起始位置,計算出有 0x71 這麼多偏移,就表示成了 generate_new_name+0x71 這種形式。

但 0xee36f1 這個位置的**,大概率是,但,不一定是 generate_new_name 這個函式內部的一段**。

mysql不斷 crash 是怎麼回事

7樓:匿名使用者

首先要找到問題的原因所在,然後一項一項排除。

最簡單省事的就是直接換一個版本的mysql,看看還掛不掛。不掛就ok了。

如果還是掛,你就一個資料庫一個資料庫的增加,增加到哪個資料庫後開始掛了,說明是這個資料庫或者訪問這個資料庫的程式的問題。

如果和資料庫沒關係,請嘗試換一個電腦安裝mysql,可以排除是否是當前電腦的環境有問題(比如軟體、硬體、病毒、記憶體)等。

如果還有問題,請嘗試設定mysql的引數,比如佔用記憶體大小,連線數量最大值,資料庫引擎等。

8樓:愛可生雲資料庫

mysql 隨著版本不停迭代,崩潰的現象越來越少,也越來越隱蔽。

一旦遇到生產環境上的 mysql 崩潰,就需要保留現場資訊,供分析用。雖然 mysql 的 error log 中會列印部分資訊,但對於比較隱蔽的崩潰,往往顯得力不從心。

通過開啟作業系統級別、放開使用者限制、啟用 mysql 引數三個步驟,我們啟用了 mysql 的 coredump 功能,使得 mysql 崩潰時留下了足夠的線索。

對於複雜崩潰的分析,還是需要將 coredump 交給專業的研發工程師手裡,或者提交給 mysql 開發團隊。

不過不管是什麼場景,能提供一份 coredump,所有技術人員都會感謝你的。

分娩時如何正確呼吸

蒼彥 對於處在臨產期的準媽媽來說,分娩是一個既期待又害怕的過程。期待著寶寶的降生,但是又害怕分娩的疼痛,可以在孕晚期鍛鍊分娩呼吸法,有助於在分娩的時候緩解疼痛,那麼趕快了解一下分娩時如何呼吸?1 緩慢的深呼吸 深呼吸是由鼻子用力吸氣,讓整個下胸部和腹部擴張充滿氧氣,然後由口慢慢的撥出,可以一定程度減...

抑鬱症患者情緒崩潰時應該如何自我調整

絆你一生 現代社會很多人因工作壓力巨大而患上抑鬱症,並且很多人不願意接受自己生病的事實,首先做的就是接受自己生病,然後不用放大自我檢查,想想生活中還有很多可愛之處,想想自己的家人,最後多配合醫生 娘41665廈艙 自己可以想一些開心的事情,深呼吸,在情緒要崩潰的時候,也可以尋找自己的朋友去傾訴自己的...

長痘痘該怎麼正確洗臉,臉上長痘痘時如何正確洗臉

吃不飽的大慄 正確洗臉的方法在這裡哦 課代表千千 痘痘肌的小仙女看這裡! 抱香蕉睡覺 1 要選對洗護的產品 即使是油性的 也不能使用偏鹼性的洗面奶。一些泡沫型的洗面奶,裡面不含有任何的酒精以及皁基,而且不會對痘痘造成二次傷害,如果經常冒痘的話可以使用含有水楊酸或者果酸的洗面奶,這樣可以達到深層的清潔...