真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql宕機(jī)怎么辦 mysql主從宕機(jī)恢復(fù)

docker部署,集成redis mysql,經(jīng)常宕機(jī)怎么解決?

docker 自帶重啟策略,restart有三個(gè)參數(shù):no,on-failure,always

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到阿瓦提網(wǎng)站設(shè)計(jì)與阿瓦提網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類(lèi)型包括:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊(cè)、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋阿瓦提地區(qū)。

一般選擇on-failure,也就是非正常宕機(jī)都重啟,手動(dòng)停止不重啟。

1.no為默認(rèn)值,表示容器退出時(shí),docker不自動(dòng)重啟容器

2.on-failure表示,若容器的退出狀態(tài)非0,則docker自動(dòng)重啟容器,還可以指定重啟次數(shù),若超過(guò)指定次數(shù)未能啟動(dòng)容器則放棄:

3.always表示,只要容器退出,則docker將自動(dòng)重啟容器

網(wǎng)站宕機(jī) 服務(wù)器宕機(jī) 數(shù)據(jù)庫(kù)宕機(jī) 宕機(jī)怎么辦

最近遇到個(gè)比較有意思的問(wèn)題,服務(wù)器宕掉后無(wú)法啟動(dòng),想了好多辦法,雖然解決了問(wèn)題,數(shù)據(jù)沒(méi)有丟失,但是沒(méi)有按照自已的思路來(lái),未免還是有些不甘。遇到問(wèn)題不能慌,尤其是線上的環(huán)境,更不能緊張,心理素質(zhì)對(duì)DBA來(lái)說(shuō)也是一項(xiàng)挑戰(zhàn),可能你的手一抖就會(huì)導(dǎo)致多少人無(wú)法正常使用業(yè)務(wù),如果你沒(méi)有把握,請(qǐng)先把現(xiàn)場(chǎng)環(huán)境備份后再進(jìn)行操作,避免數(shù)據(jù)的二次損壞,下面壹基比小喻說(shuō)一下大概的思路吧。

1.檢查是否有備份,如果備份存在,binlog存在,那么萬(wàn)事大吉,一切都有挽回的余地,慢慢來(lái)搞,只要你基礎(chǔ)扎實(shí),數(shù)據(jù)還原只是時(shí)間的問(wèn)題。

2.對(duì)于沒(méi)有備份的,那處理這個(gè)問(wèn)題就有些棘手了,還得一步一步的來(lái)。

在my.cnf中[mysqld]下加上以下配置,采用強(qiáng)制恢復(fù)機(jī)制,看是否能夠啟動(dòng)

[mysqld]

innodb_force_recovery=1

如果設(shè)置成1不能啟動(dòng),可以逐漸的將數(shù)據(jù)增大到6,下文會(huì)詳細(xì)說(shuō)下1-6是什么意思,如果在1-6之間啟動(dòng)成功了,那么你運(yùn)氣還不錯(cuò),這時(shí)候不要恢復(fù)業(yè)務(wù),趕緊把數(shù)據(jù)用邏輯方式導(dǎo)出來(lái),再啟個(gè)新的實(shí)例把數(shù)據(jù)還原,有人會(huì)問(wèn),為什么mysql已經(jīng)啟動(dòng)了,還要導(dǎo)出數(shù)據(jù)呢,原因在這:

當(dāng)innodb_force_recovery被設(shè)置為大于0的時(shí)候 ,會(huì)阻止用戶insert,update,delete也就是你啟動(dòng)的mysql不是一個(gè)正常的mysql服務(wù),類(lèi)似于windows系統(tǒng)下的安全模式。以下這段引于其它地方,具體地址不太清楚了,也可以從官方文檔中找到。

innodb_force_recovery被允許的非零值如下。一個(gè)更大的數(shù)字包含所有更小數(shù)字的預(yù)防措施。如果你能夠用一個(gè)多數(shù)是4的選項(xiàng)值來(lái)轉(zhuǎn)儲(chǔ)你的表,那么你是比較安全的,只有一些在損壞的單獨(dú)頁(yè)面上的數(shù)據(jù)會(huì)丟失。一個(gè)為6的值更夸張,因?yàn)閿?shù)據(jù)庫(kù)頁(yè)被留在一個(gè)陳舊的狀態(tài),這個(gè)狀態(tài)反過(guò)來(lái)可以引發(fā)對(duì)B樹(shù)和其它數(shù)據(jù)庫(kù)結(jié)構(gòu)的更多破壞。

innodb_force_recovery=1 (SRV_FORCE_IGNORE_CORRUPT)

即使服務(wù)器檢測(cè)到一個(gè)損壞的頁(yè),也讓服務(wù)器運(yùn)行著;試著讓SELECT * FROM tbl_name 跳過(guò)損壞的索引記錄和頁(yè),這樣有助于轉(zhuǎn)儲(chǔ)表。

innodb_force_recovery=2 (SRV_FORCE_NO_BACKGROUND)

阻止主線程運(yùn)行,如果崩潰可能在凈化操作過(guò)程中發(fā)生,這將阻止它。

innodb_force_recovery=3 (SRV_FORCE_NO_TRX_UNDO)

恢復(fù)后不運(yùn)行事務(wù)回滾。

innodb_force_recovery=4 (SRV_FORCE_NO_IBUF_MERGE)

也阻止插入緩沖合并操作。如果你可能會(huì)導(dǎo)致一個(gè)崩潰。最好不要做這些操作,不要計(jì)算表統(tǒng)計(jì)表。

innodb_force_recovery=5 (SRV_FORCE_NO_UNDO_LOG_SCAN)

啟動(dòng)數(shù)據(jù)庫(kù)之時(shí)不查看未完成日志:InnoDB把未完成的事務(wù)視為已提交的。

innodb_force_recovery=6 (SRV_FORCE_NO_LOG_REDO)

不要在恢復(fù)連接中做日志前滾。

數(shù)據(jù)庫(kù)不能另外地帶著這些選項(xiàng)中被允許的選項(xiàng)來(lái)使用。作為一個(gè)安全措施,當(dāng)innodb_force_recovery被設(shè)置為大于0的值時(shí),InnoDB阻止用戶執(zhí)行INSERT, UPDATE或DELETE操作.

即使強(qiáng)制恢復(fù)被使用,你也可以DROP或CREATE表。如果你知道一個(gè)給定的表正在導(dǎo)致回滾崩潰,你可以移除它。你也可以用這個(gè)來(lái)停止由失敗的大宗導(dǎo)入或失敗的ALTER TABLE導(dǎo)致的失控回滾。你可以殺掉mysqld進(jìn)程,然后設(shè)置innodb_force_recovery為3,使得數(shù)據(jù)庫(kù)被掛起而不需要回滾,然后舍棄導(dǎo)致失控回滾的表。

關(guān)于上面進(jìn)行邏輯備份也可能會(huì)遇到問(wèn)題,可能會(huì)備份失敗,如果出錯(cuò),建議先按庫(kù)一個(gè)一個(gè)的備份,到哪個(gè)庫(kù)出錯(cuò)后,再按照當(dāng)前庫(kù)的表一個(gè)一個(gè)備份,表出錯(cuò)根據(jù)表中主鍵一點(diǎn)一點(diǎn)備份,最終將大部分?jǐn)?shù)據(jù)導(dǎo)出。如果你的數(shù)據(jù)不重要,可以容忍丟失,那么可以當(dāng)我說(shuō)的都是廢話了。

3.如果還是不可以啟動(dòng),那么恭喜你,你遇到挑戰(zhàn)了。

查看錯(cuò)誤日志,看沒(méi)有提示因?yàn)槟硞€(gè)表的原因而導(dǎo)致啟動(dòng)不了,可以先把損壞的表的ibd文件先從數(shù)據(jù)目錄mv走,再試著啟動(dòng),在數(shù)據(jù)已經(jīng)恢復(fù)后,我把當(dāng)時(shí)錯(cuò)誤的文件拿到本地,做了測(cè)試,把幾個(gè)報(bào)錯(cuò)的ibd文件mv走后,數(shù)據(jù)庫(kù)就可以正常啟動(dòng)了,但是mv走的這幾個(gè)表數(shù)據(jù)會(huì)丟失。怎么把這個(gè)表的數(shù)據(jù)弄回來(lái)呢,曾想過(guò)用在線表空間傳輸,但是.cfg文件卻沒(méi)有,這種方法沒(méi)有行通。后來(lái)用Percona Data Recovery Tool for InnoDB工具進(jìn)行數(shù)據(jù)恢復(fù),關(guān)于這個(gè)工具的介紹與操作,網(wǎng)上一大堆,我就不詳細(xì)說(shuō)明了。

如何優(yōu)化mysql內(nèi)存占用高導(dǎo)致宕機(jī)

1,首先通過(guò)任務(wù)管理器進(jìn)行進(jìn)程排序,查找占用內(nèi)存較大的程序進(jìn)程。一般占用內(nèi)存較大的進(jìn)程有W3WP、sqlserver、mysqld-nt.exe;

2, 站點(diǎn)進(jìn)程w3wp 可以在cmd命令行中通過(guò) iisapp 命令來(lái)對(duì)應(yīng)是那個(gè)網(wǎng)站占用內(nèi)存較大。可以通過(guò)設(shè)置回收時(shí)間、內(nèi)存最大使用值或共用進(jìn)程池來(lái)減少內(nèi)存的占用,但是如果要保證網(wǎng)站的訪問(wèn)質(zhì)量,還是建議升級(jí)至更高型號(hào)來(lái)解決;

3,數(shù)據(jù)庫(kù) sql server 也可以通過(guò)數(shù)據(jù)庫(kù)的企業(yè)管理器來(lái)設(shè)置最大內(nèi)存占用,但是如果網(wǎng)站程序必須要占用較大內(nèi)存的話,設(shè)置后會(huì)發(fā)生頁(yè)面報(bào)錯(cuò)、打不開(kāi)等問(wèn)題;

4,MYSQL本身會(huì)占用較大虛擬內(nèi)存,如果不使用mysql數(shù)據(jù)庫(kù)的話,可以將其停止。


網(wǎng)頁(yè)名稱:mysql宕機(jī)怎么辦 mysql主從宕機(jī)恢復(fù)
本文網(wǎng)址:http://weahome.cn/article/hepgoj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部