top
Loading...
A.1.如何確定導致問題的原因
A.1. 如何確定導致問題的原因

當你遇到問題時,首先要做的是找出導致問題的程序和設備部件:

·         如果遇到下述征兆之一,或許是因為硬件問題(如內存、主板、CPU或硬盤)或內核問題:

1.    鍵盤不工作。正常情況下可通過按Caps Lock建進行檢查。如果Caps Lock的點亮狀態未改變,就需要更換鍵盤(在此之前,應嘗試重啟計算機,并檢查與鍵盤相連的所有電纜)。

2.    鼠標指針不移動。

3.    機器未對遠程機器的Ping命令做出應答。

4.    MySQL無關的其他程序工作不正常。

5.    系統意外重啟(有問題的用戶級程序應不能使系統出現嚴重問題)。

在該情況下,應檢查所有的電纜并運行某些診斷工具,對你的硬件進行檢查!此外,還應檢查是否有能夠解決問題的、適用于你的操作系統的補丁、更新或服務包。請檢查所有的庫(如glibc)是否是最新的。

使用配備ECC內存的機器以便盡早發現問題總是個好主意。

·         如果鍵盤已鎖定,可從另一臺機器登錄到你的機器,并執行kbd_mode –a,或許能恢復。

·         請檢查系統的日志文件(/var/log/messages或類似物)以找出問題的原因。如果你認為問題出在MySQL中,應檢查MySQL的日志文件。請參見5.11節,“MySQL日志文件”。

·         如果你不認為存在硬件問題,應嘗試找出導致問題的原因。請使用topps、任務管理器或類似程序,以檢查哪個程序占用了所有CPU時間或鎖定了機器。

·         使用topdf或類似程序檢查是否內存不夠、磁盤空間不足、文件描述符缺乏、或其他關鍵資源缺少。

·         如果問題是失去控制的進程,應嘗試殺死它。如果殺不死進程,或許是因為操作系統中存在缺陷。

如果在檢查了所有其他可能性之后,并得出結論問題是由MySQL服務器或MySQL客戶端導致的,應創建提供給我方的郵件列表或支持團隊的缺陷報告。在缺陷報告中,請詳細描述系統的行為,以及你認為發生了什么情況。+3.

還應闡明為什么你認為是MySQL導致了問題。請考慮本章介紹的所有情況。準確闡明當你檢查系統時問題是如何出現的。對于程序和日志文件的任何輸出和錯誤消息,請使用“復制和粘貼”方法。

盡量詳細描述不工作的程序,以及你所見到的所有征兆。我們過去收到過很多僅說明“系統不工作”的缺陷報告。這不會為我們提供有助于解決問題的信息。

如果程序失敗,了解下述信息總是有用的:

·         有嫌疑的程序是否出現了分段故障(是否轉儲內核)?

·         程序是否占用了所有可用的CPU時間?用top.進行檢查。讓程序運行一段時間,或許能簡單地評估某些事是否是計算密集性的。

·         如果問題是因mysqld服務器導致的,使用mysqladmin -u root pingmysqladmin -u root processlist是否能獲得服務器的響應?

·         當你嘗試連接到MySQL服務器(例如,mysql)時,客戶端程序給出的信息是什么?客戶端是否堵塞?是否獲得了來自程序的任何輸出?

發送缺陷報告時,請遵循1.7.1.2節,“請教問題或通報缺陷”中給出的說明。

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/problems.html
北斗有巢氏 有巢氏北斗