十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
1、首先檢查是否已安裝MySQL服務(wù),如果沒有安裝,則需要安裝MySQL服務(wù)。
我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、沿河ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學管理、有技術(shù)的沿河網(wǎng)站制作公司
2、然后檢查MySQL服務(wù)是否已經(jīng)在系統(tǒng)服務(wù)列表中,如果不在則需要手動添加MySQL服務(wù)。
3、檢查MySQL的配置文件my.ini是否正確,如果不正確則需要修改配置文件。
4、檢查Windows服務(wù)管理器中MySQL服務(wù)的狀態(tài)是否處于“運行”狀態(tài),如果不是,則需要手動啟動MySQL服務(wù)。
拓展:
如果以上步驟都無法解決問題,可以嘗試更新MySQL安裝包,或者重新安裝MySQL服務(wù)。如果仍然無法解決,則可以嘗試檢查MySQL的數(shù)據(jù)庫文件是否損壞,如果損壞則需要進行修復(fù)。
我們經(jīng)常在運行MySQL時會出一些錯誤,也經(jīng)常被這些錯誤搞得暈頭轉(zhuǎn)向。當然解決這些問題的首要任務(wù)是找到日志信息。
MySQL的錯誤信息是在data目錄下的,且文件名為hostname.err(hostname指的是主機名),但由于每個人安裝的環(huán)境不一樣,或你忘記了data目錄的所在位置,你可以通過下面方法查找。
#hostname //獲得主機名
hostname
#find / -name hostname.err
.....
#cd ...
#vi hostname.err
可以使用語句檢查表。如果結(jié)果的msg_text部分是好的,那么你的表是健康的。反之,則表明mysql數(shù)據(jù)庫中的表有損壞。另外有些厲害的高手一額可以通過運行腳本來檢測。
MyISAM?表可以采用以下方法進行修復(fù)?:使用?reapair table?或myisamchk?來修復(fù)。如果修復(fù)無效,采用備份恢復(fù)表。
階段1?:檢查你的表
如果你有很多時間,運行myisamchk *.MYI?或myisamchk -e *.MYI?。使用-s?(沉默)選項禁止不必要的信息。如果mysqld?服務(wù)器處于宕機狀態(tài),應(yīng)使用--update-state?選項來告訴myisamchk?將表標記為'?檢查過的'?。
你必須只修復(fù)那些myisamchk?報告有錯誤的表。對這樣的表,繼續(xù)到階段2?。如果在檢查時,你得到奇怪的錯誤(?例如out of memory?錯誤)?,或如果myisamchk?崩潰,到階段3?。
階段2?:簡單安全的修復(fù)
注釋:如果想更快地進行修復(fù),當運行myisamchk?時,你應(yīng)將sort_buffer_size?和Key_buffer_size?變量的值設(shè)置為可用內(nèi)存的大約25%?。
首先,試試myisamchk -r -q tbl_name(-r -q?意味著“?快速恢復(fù)模式”)?。這將試圖不接觸數(shù)據(jù)文件來修復(fù)索引文件。如果數(shù)據(jù)文件包含它應(yīng)有的一切內(nèi)容和指向數(shù)據(jù)文件內(nèi)正確地點的刪除連接,這應(yīng)該管用并且表可被修復(fù)。開始修復(fù)下一張表。否則,執(zhí)行下列過程:
在繼續(xù)前對數(shù)據(jù)文件進行備份。使用myisamchk -r tbl_name(-r?意味著“?恢復(fù)模式”)?。這將從數(shù)據(jù)文件中刪除不正確的記錄和已被刪除的記錄并重建索引文件。
如果前面的步驟失敗,使用myisamchk --safe-recover tbl_name?。安全恢復(fù)模式使用一個老的恢復(fù)方法,處理常規(guī)恢復(fù)模式不行的少數(shù)情況(?但是更慢)?。如果在修復(fù)時,你得到奇怪的錯誤(?例如out of memory?錯誤)?,或如果myisamchk?崩潰,到階段3?。
階段3?:困難的修復(fù)
只有在索引文件的第一個16K?塊被破壞,或包含不正確的信息,或如果索引文件丟失,你才應(yīng)該到這個階段。在這種情況下,需要創(chuàng)建一個新的索引文件。按如下步驟操做:
把數(shù)據(jù)文件移到安全的地方。使用表描述文件創(chuàng)建新的(?空)?數(shù)據(jù)文件和索引文件:
shell mysql db_name
mysql SET AUTOCOMMIT=1;
mysql TRUNCATE TABLE tbl_name;
mysql quit
如果你的MySQL?版本沒有TRUNCATE TABLE?,則使用DELETE FROM tbl_name?。將老的數(shù)據(jù)文件拷貝到新創(chuàng)建的數(shù)據(jù)文件之中?;氐诫A段2??,F(xiàn)在myisamchk -r -q?應(yīng)該工作了。你還可以使用REPAIR TABLE tbl_name USE_FRM?,將自動執(zhí)行整個程序。
階段4?:非常困難的修復(fù)
只有.frm?描述文件也破壞了,你才應(yīng)該到達這個階段。這應(yīng)該從未發(fā)生過,因為在表被創(chuàng)建以后,描述文件就不再改變了。
從一個備份恢復(fù)描述文件然后回到階段3?。你也可以恢復(fù)索引文件然后回到階段2?。對后者,你應(yīng)該用myisamchk -r?啟動。
如果你沒有進行備份但是確切地知道表是怎樣創(chuàng)建的,在另一個數(shù)據(jù)庫中創(chuàng)建表的一個拷貝。刪除新的數(shù)據(jù)文件,然后從其他數(shù)據(jù)庫將描述文件和索引文件移到破壞的數(shù)據(jù)庫中。這樣提供了新的描述和索引文件,但是讓.MYD?數(shù)據(jù)文件獨自留下來了?;氐诫A段2并且嘗試重建索引文件。