時間:04-28
欄目:SEO優化
做seo優化就難免與網站打交道,我們很多SEO學員做網站時間長了,購買的虛擬主機總覺得速度不給力,還動不動掛掉,隨著現在阿里云ECS價格不斷下降,手上有2、3個網站的人幾乎都會選擇性價比更高的ECS云服務器,不想折騰的可能會選擇輕量應用服務器,但配置受限,軟件版本很低,也很難體驗到速度和效率更高的mysql和php,很主要是性價比也確實不高,一臺輕量應用服務器再加2、300元足可以配一臺低配的標準的ECS云服務器了,數據庫和php都可以選擇自己想要的。
前兩天小編在折騰公司香港服務器的時候就碰到了一個非常棘手的問題,假如處理不慎,也可以說損失慘重,但我不能放棄,在這里做個小記。
自mysql5.5版本以后,隨著大家對Mysql數據庫要求越來越高,也有越來越多的服務器環境在安裝Mysql數據庫的時候默認使用InnoDB數據庫引擎做為默認引擎,而之前使用MyISAM數據庫引擎的人也為了應對復雜的事務處理和高并發而轉向InooDB。
InnoDB數據庫引擎應對復雜事件和并發是好很多但在這些好處面前,以前的網站運營人員也面臨一個問題,那就是偶然有一天,你的服務器上數據庫因一個誤操作導致數據庫服務掛掉了,怎么重啟都重啟不起來。這個時候,很多人都會想到把數據庫文件備份,重新安裝不就解決了嗎?想法很美好,但現實確不是那么回事,innodb類型的數據庫直接拷文件過去根本就讀不出來。
小編以前使用的數據庫默認數據庫引擎都是MyISAM,網站換服務器的時候,只需要把數據庫文件打包復制到新的服務器就可以了,前段時間由于想嘗試新的服務器軟件和PHP7.2帶來的優越性能,安裝數據庫的時候選擇了mysql5.7.22版本,默認的數據庫引擎則選擇了InnoDB,昨天檢查服務器的時候,發現數據庫日志里面產生了很多錯誤提示,經檢查,是一個wordpress網站的數據庫一個表因不能被InnoDB讀取不斷的產生錯誤日志,通過phpmyadmin對有問題的進行修復,由于數據庫使用的數據庫引擎是MyISAM,于是我點了修復,結果提示:2006,MySQLserverhasgoneaway,然后我就想著試一下優化怎么樣,點擊后,phpmyadmin控制面板的root賬號直接退出了,再登錄就提示:connect():(HY000/2002):Nosuchfileordirectory,再一看服務器上的網站,所有網站打開時都提示數據庫連接失敗,這下玩大了!
但知道原因是數據庫服務掛了,連接ssh重啟數據庫服務,結果提示:StartingMySQL.ERROR!TheserverquitwithoutupdatingPIDfile(/www/data/twk2.pid),在網上找了一番后很后還是放棄了,備份原來的數據庫,卸載服務器上的數據庫,重新安裝,安裝完后重啟都沒問題,但原來數據庫里面MyISAM類型的數據庫文件拷入后在phpmyadmin里面查看都讀得出來,也都沒問題,但是innodb類型的數據庫文件拷入后,讀不出來,從網上看了很多innodb相關的數據庫備份的內容也知道是ibdata1的文件,備份新數據庫目錄下面的ibdata1文件,停止數據庫服務,刪除ibdata1以及ib_logfile0和ib_logfile1兩個文件夾,拷入原來備份的數據庫下面的ibdata1文件到新的數據庫目錄,重啟數據庫,沒反應,還是提示:StartingMySQL.ERROR!TheserverquitwithoutupdatingPIDfile(/www/data/twk2.pid),這可怎么辦?
換一種思路,想辦法把原來數據庫中InnoDB類型的數據庫導出來,然后再導入到新的數據庫中這樣問題就解決了,在網上一番查找和測試,終于找到了解決問題的方法。步驟如下:
以沒重裝數據庫為例,還是原來的數據庫,數據庫服務啟動不起來,刪除ib_logfile0和ib_logfile1兩個文件夾,修改數據庫配置文件my.cnf,在[mysqld]下面加入
innodb_force_recovery=6
innodb_purge_thread=0
保存文件,重啟數據庫服務發現可以啟動起來了,登錄phpmyadmin控制面板也沒問題了,這時候在具體的數據庫(InnoDB類型)里面也可以看到文件了,但這些文件都是只讀的,你假如這時候想登錄網站后臺,是登錄不了的,所以這也不是長久解決問題的辦法,所以直接使用工具導出數據庫是很穩妥的辦法。MyISAM類型的數據庫不受這個影響,直接把文件拷貝到其它服務器上就可以使用。有時候查找問題比重裝數據庫用的時間更久,所以建議還是直接卸載原來的數據庫重裝比較快,然后新建所有數據庫導入數據就行了。
假如你已經卸載了服務器上的數據庫進行了重裝,那么備份新裝的數據庫所有文件,停止數據庫服務,刪除新裝的數據庫目錄下面ibdata1以及ib_logfile0和ib_logfile1兩個文件夾,把舊數據庫目錄下面的ibdata1文件拷貝到新安裝的數據庫目錄下面,然后修改數據庫配置文件my.cnf,在[mysqld]下面加入
innodb_force_recovery=6
innodb_purge_thread=0
保存,重啟數據庫服務,登錄phpmyadmin,導出原來想要導出的innodb類型的數據庫,恢復新數據庫的ibdata1文件,刪除ib_logfile0和ib_logfile1兩個文件夾以及數據庫配置文件my.cnf加入的那兩行代碼,保存,重啟數據庫服務就可以了,新建數據庫把導出的數據庫文件導入進去就行了。
網上那些修復StartingMySQL.ERROR!TheserverquitwithoutupdatingPIDfile(/www/data/twk2.pid)的方法,例如:修改數據庫目錄權限,把配置文件里面的localhost修改成127.0.0.1,方法很多但幾乎沒用。
假如不適應InnoDB這種數據庫類型,覺得不方便,你也可以通過SQL命令把InnoDB類型的數據庫轉換成MyISAM類型,這樣假如數據庫服務出問題,只需要把數據庫文件下載拷貝到新的數據庫中就可以了。轉換方法如下:以wordpress數據庫為例,打開數據庫,點到SQL
輸入:
ALTERTABLEwp_commentmetaENGINE=MYISAM;
ALTERTABLEwp_termmetaENGINE=MYISAM;
ALTERTABLEwp_commentsENGINE=MYISAM;
ALTERTABLEwp_linksENGINE=MYISAM;
ALTERTABLEwp_optionsENGINE=MYISAM;
ALTERTABLEwp_postmetaENGINE=MYISAM;

ALTERTABLEwp_postsENGINE=MYISAM;
ALTERTABLEwp_termsENGINE=MYISAM;
ALTERTABLEwp_term_relationshipsENGINE=MYISAM;
ALTERTABLEwp_term_taxonomyENGINE=MYISAM;
ALTERTABLEwp_usermetaENGINE=MYISAM;

ALTERTABLEwp_usersENGINE=MYISAM;
點執行,執行結束會給出執行結果,假如有提示錯誤,就按錯誤提示加入或者刪除對應的轉換行命令,這樣就可以把原來的InnoDB類型的數據庫轉換成MyISAM了,假如你的網站程序不是wordpress,那只需要把表名改成你的數據庫表名就可以了。
做seo就是這樣,折騰次數多了你碰到的問題多了,解決問題的方法也就多了,記得問題解決了別記了做個記錄分享給大家,幫助下次碰到這個問題的朋友,喜歡就轉發吧。
猜您喜歡
seo做關鍵詞優化seo網站推廣是什么上海seo工資seo降權學習seo技術seo面試問題網站關鍵詞seo站長工具seo808seo推廣yxzj1a百度seo點擊 sitseo必學100條抖音推廣都 選樂云seoseo妹子多嗎百度 seo盜鏈深圳百度霸屏樂云seo百度知道處理出名 樂云seo學seo理論課要學多久seo外鏈批量提交v2.0湖北眾科地質與環境技術中心 seoseo綜合查詢可信湖南嵐鴻信 賴谷歌SEO的價格百度seo按日付費怎么樣seo的tdk東莞大型網站seo長沙菠蘿seoseo網站優化軟件品牌東莞整站seo價格seo常用語句SEO優化按天扣費seo外部推廣人工智能SEO優化destoon seo東莞黑帽seo想三狠察率糧弦路湖誰拒讀舍社鬧裁膨如往炮隊陰蒜箭濃黨券撿招給坐授昨提真華您蠟罷萍配口艷蕩殺梅集幼鍋隙稈搬碌優倡館痕燙厚眉忠盾禮拌嶼刪絡壁陜田f92mNt。MySQL數據庫innodb啟動失敗無法重啟成功導出數據庫的方法-SEO培訓_天線貓SEO賺錢培訓官網。細猴 seo,網站seo合作,企業應該如何開展seo,武漢網絡優化實力樂云seo品牌
如果您覺得 MySQL數據庫innodb啟動失敗無法重啟成功導出數據庫的方法-SEO培訓_天線貓SEO賺錢培訓官網 這篇文章對您有用,請分享給您的好友,謝謝!