trxstate
❶ mysql的表壞了怎麼修復啊
1. 表損壞的原因分析
以下原因是導致mysql 表毀壞的常見原因:
1、 伺服器突然斷電導致數據文件損壞。
2、 強制關機,沒有先關閉mysql 服務。
3、 mysqld 進程在寫表時被殺掉。
4、 使用myisamchk 的同時,mysqld 也在操作表。
5、 磁碟故障。
6、 伺服器死機。
7、 mysql 本身的bug 。
2. 表損壞的症狀
一個損壞的表的典型症狀如下:
1 、當在從表中選擇數據之時,你得到如下錯誤:
Incorrect key file for table: 』...』. Try to repair it
2 、查詢不能在表中找到行或返回不完全的數據。
3 、Error: Table 』p』 is marked as crashed and should be repaired 。
4 、打開表失敗: Can』t open file: 『×××.MYI』 (errno: 145) 。
5 、
3. 預防 MySQL 表損壞
可以採用以下手段預防mysql 表損壞:
1 、定期使用myisamchk 檢查MyISAM 表(注意要關閉mysqld ),推薦使用check table 來檢查表(不用關閉mysqld )。
2 、在做過大量的更新或刪除操作後,推薦使用OPTIMIZE TABLE 來優化表,這樣既減少了文件碎片,又減少了表損壞的概率。
3 、關閉伺服器前,先關閉mysqld (正常關閉服務,不要使用kill -9 來殺進程)。
4 、使用ups 電源,避免出現突然斷電的情況。
5 、使用最新的穩定發布版mysql ,減少mysql 本身的bug 導致表損壞。
6 、對於InnoDB 引擎,你可以使用innodb_tablespace_monitor 來檢查表空間文件內文件空間管理的完整性。
7 、對磁碟做raid ,減少磁碟出錯並提高性能。
8 、資料庫伺服器最好只跑mysqld 和必要的其他服務,不要跑其他業務服務,這樣減少死機導致表損壞的可能。
9 、不怕萬一,只怕意外,平時做好備份是預防表損壞的有效手段。
4. MySQL 表損壞的修復
MyISAM 表可以採用以下步驟進行修復 :
1、 使用 reapair table 或myisamchk 來修復。
2、 如果上面的方法修復無效,採用備份恢復表。
具體可以參考如下做法:
階段1 :檢查你的表
如果你有很多時間,運行myisamchk *.MYI 或myisamchk -e *.MYI 。使用-s (沉默)選項禁止不必要的信息。
如果mysqld 伺服器處於宕機狀態,應使用--update-state 選項來告訴myisamchk 將表標記為』 檢查過的』 。
你必須只修復那些myisamchk 報告有錯誤的表。對這樣的表,繼續到階段2 。
如果在檢查時,你得到奇怪的錯誤( 例如out of memory 錯誤) ,或如果myisamchk 崩潰,到階段3 。
階段2 :簡單安全的修復
注釋:如果想更快地進行修復,當運行myisamchk 時,你應將sort_buffer_size 和Key_buffer_size 變數的值設置為可用內存的大約25% 。
首先,試試myisamchk -r -q tbl_name(-r -q 意味著「 快速恢復模式」) 。這將試圖不接觸數據文件來修復索引文件。如果數據文件包含它應有的一切內容和指向數據文件內正確地點的刪除連接,這應該管用並且表可被修復。開始修復下一張表。否則,執行下列過程:
在繼續前對數據文件進行備份。
使用myisamchk -r tbl_name(-r 意味著「 恢復模式」) 。這將從數據文件中刪除不正確的記錄和已被刪除的記錄並重建索引文件。
如果前面的步驟失敗,使用myisamchk --safe-recover tbl_name 。安全恢復模式使用一個老的恢復方法,處理常規恢復模式不行的少數情況( 但是更慢) 。
如果在修復時,你得到奇怪的錯誤( 例如out of memory 錯誤) ,或如果myisamchk 崩潰,到階段3 。
階段3 :困難的修復
只有在索引文件的第一個16K 塊被破壞,或包含不正確的信息,或如果索引文件丟失,你才應該到這個階段。在這種情況下,需要創建一個新的索引文件。按如下步驟操做:
把數據文件移到安全的地方。
使用表描述文件創建新的( 空) 數據文件和索引文件:
shell> mysql db_name
mysql> SET AUTOCOMMIT=1;
mysql> TRUNCATE TABLE tbl_name;
mysql> quit
如果你的MySQL 版本沒有TRUNCATE TABLE ,則使用DELETE FROM tbl_name 。
將老的數據文件拷貝到新創建的數據文件之中。(不要只是將老文件移回新文件之中;你要保留一個副本以防某些東西出錯。)
回到階段2 。現在myisamchk -r -q 應該工作了。(這不應該是一個無限循環)。
你還可以使用REPAIR TABLE tbl_name USE_FRM ,將自動執行整個程序。
階段4 :非常困難的修復
只有.frm 描述文件也破壞了,你才應該到達這個階段。這應該從未發生過,因為在表被創建以後,描述文件就不再改變了。
從一個備份恢復描述文件然後回到階段3 。你也可以恢復索引文件然後回到階段2 。對後者,你應該用myisamchk -r 啟動。
如果你沒有進行備份但是確切地知道表是怎樣創建的,在另一個資料庫中創建表的一個拷貝。刪除新的數據文件,然後從其他資料庫將描述文件和索引文件移到破壞的資料庫中。這樣提供了新的描述和索引文件,但是讓.MYD 數據文件獨自留下來了。回到階段2 並且嘗試重建索引文件。
InnoDB 表可以採用下面的方法修復:
如果資料庫頁被破壞,你可能想要用SELECT INTO OUTFILE 從從資料庫轉儲你的表,通常以這種方法獲取的大多數數據是完好的。即使這樣,損壞可能導致SELECT * FROM tbl_name 或者InnoDB 後台操作崩潰或斷言,或者甚至使得InnoDB 前滾恢復崩潰。 盡管如此,你可以用它來強制InnoDB 存儲引擎啟動同時阻止後台操作運行,以便你能轉儲你的表。例如:你可以在重啟伺服器之前,在選項文件的[mysqld] 節添加如下的行:
[mysqld]innodb_force_recovery = 4innodb_force_recovery 被允許的非零值如下。一個更大的數字包含所有更小數字的預防措施。如果你能夠用一個多數是4 的選項值來轉儲你的表,那麼你是比較安全的,只有一些在損壞的單獨頁面上的數據會丟失。一個為6 的值更誇張,因為資料庫頁被留在一個陳舊的狀態,這個狀態反過來可以引發對B 樹和其它資料庫結構的更多破壞。
1 (SRV_FORCE_IGNORE_CORRUPT)
即使伺服器檢測到一個損壞的頁,也讓伺服器運行著;試著讓SELECT * FROM tbl_name 跳過損壞的索引記錄和頁,這樣有助於轉儲表。
2 (SRV_FORCE_NO_BACKGROUND)
阻止主線程運行,如果崩潰可能在凈化操作過程中發生,這將阻止它。
3 (SRV_FORCE_NO_TRX_UNDO)
恢復後不運行事務回滾。
4 (SRV_FORCE_NO_IBUF_MERGE)
也阻止插入緩沖合並操作。如果你可能會導致一個崩潰。最好不要做這些操作,不要計算表統計表。
5 (SRV_FORCE_NO_UNDO_LOG_SCAN)
啟動資料庫之時不查看未完成日誌:InnoDB 把未完成的事務視為已提交的。
6 (SRV_FORCE_NO_LOG_REDO)
不要在恢復連接中做日誌前滾。
資料庫不能另外地帶著這些選項中被允許的選項來使用。作為一個安全措施,當innodb_force_recovery 被設置為大於0 的值時,InnoDB 阻止用戶執行INSERT, UPDATE 或DELETE 操作.
即使強制恢復被使用,你也可以DROP 或CREATE 表。如果你知道一個給定的表正在導致回滾崩潰,你可以移除它。你也可以用這個來停止由失敗的大宗導入或失敗的ALTER TABLE 導致的失控回滾。你可以殺掉mysqld 進程,然後設置innodb_force_recovery 為3 ,使得資料庫被掛起而不需要回滾,然後舍棄導致失控回滾的表。
網上找的
❷ 什麼是詞根
。(詞根和詞綴叫構詞語素)也就是說,單詞一般由三部分組成:詞根、前綴和後綴。詞根決定單詞意思,前綴改變單詞詞義,後綴決定單詞詞性。
[編輯本段]主要詞根
詞根 詞根解釋 例詞 ache=ache 痛 earache 耳痛 ag=do, act 做,動 agent 代理人 agri, agro=agriculture 田地,農田 agriculture 農業,農藝 ann, enn=year 年 annual 每年的,年度的 astro, aster=star 星 astronomy 天文學 audi, audit=hear 聽 audible 聽得見的 bell=war 戰爭 rebellion 反叛,反抗 bio, bi=life 生命,生物 biology 生物學 brev=short 短 abbreviate 縮短,節略 ced, ceed=go 行走 precedent 先行的,在前 cept=take 拿,取 exception 例外,除外 circ=ring 環,,圓 circle 圓,圈,環狀物 cid, cis=cut, kill 切,殺 suicide 自殺 claim, clam=cry, shout 喊叫 exclaim 呼喊,驚叫 clar=clear 清楚的,明白的 clarify 澄清;使清楚 clud, clus=close, shut 關閉 exclude 排斥,拒絕,接納 cogn=know 知道 cognition 認知 cord=heart 心 cordial 衷心的,誠心的 corpor, cor=body 體 corporation 團體,社團 cred=believe, trust 相信,信任 credibility 可信,可靠, cruc=cross 十字 crucify把……數答釘在十字桇上;折磨 cur=care 關心,掛念,注意 security 安全 cru, crus, cour, cours=run 跑 cruise巡航艦 di=day 日 diary 日記 dit=give 給 edit 編輯 dict,dic=say 言,說 dictator 獨裁者,口授者 c, ct=lead 引導 conct 引導,指導,經營 ed=eat 吃 edible 可以吃的,食用的 ev=age 年齡,時代 longevity 長壽,長命 fact, fac=do, make 做,作 factory 工廠 fer=bring, carry 帶,拿 different 不同的,相異的 flor, olour=flower 花 florid 如花的,華麗的 flu=flow 流 fluency 流利,流暢 fus=pour 灌,流,傾瀉 refuse 拒絕,拒受 geo=earth 地 geography 地理學 gon=angle角 trigon 三角形 grad=step, go, grade 步,走,級 graal 逐步的 gram=write 寫 telegram 電報 graph=write, writing 寫,畫 photograph 照相,拍照 gress=go, walk 行走 progress 進步 hap=chance,luck,accident 機會,偶發 happen 發生,巧遇好殲 hibit=hold 拿,持 exhibit 展出,展覽 hospit, hosp=guest 客人 hospitable 好客的 idio=particular, own, private, proper 特殊的,個人的,專有的 idiom 慣用語,方友畢沖言 insul=island 島 insular 島的,偏狹的 it=go 行走 exit 出口,退出 ject=throw 投擲 projection 投擲,發射 lect, leg, lig=choose, gather 選,收 elect 選舉 lev=raise 舉、升 elevate 抬起,使升高 liber=liberty 自由 liberation 解放 lingu=language 語言 linguist 語言專家 liter=letter 文字,字母 literate 識字的,有文化的 loc=place 地方 local 當地的 log=speak 言,說 dialogue 對話 loqu=speak 言說 eloquent 有口才的,雄辯的 lun=moon 月亮 lunar 月亮的,似月的 nanu, man=hand 手 manuscript 手稿 mar=sea 海 marine 海上的,航海的 medi=middle 中間 mediate 居中調解,調停 memor=memory,mindful 記憶,記住的 memory 記憶,記憶力 milit=soldier 兵 military 軍事的,軍隊的 mini=small,less 小 minimum 最小數 mir=wonder 驚奇,驚異 admire 贊賞,欽佩 mort=death 死 mortal 終有一死的 mot=move 移動 motion 運動,動 nomin=name 名 nominal 名義上的,有名無實的 nov=new 新 novel 新的,新奇的 numer=number 數 numeral 數字,[語]數詞 oper=work 工作 operation 手術,工作,操作 ori=rise 升起 orient 東方,東方的 paci=peace 和平 pacify 使和平,撫慰 past=feed 喂,食 pasture 放牧、牧場,吃草 pel=push, drive 推,逐,驅 propel 推動 pend, pens=hang 懸掛 pendent 懸空的,懸而未決的 pet=seek 追求 compete 競爭,比賽 phon=sound 聲音 phone 電話 plen=full 滿,全 plenty 大量,豐富 pone=put 放置 postpone 推後,推遲 popul=people 人民 population 人口,全體居民 port=carry 拿,帶,運 import 輸入,進口 pos=put 放置 expose 揭露,揭發 preci=price 價值 precious 寶貴的,珍貴的 pur=pure 清,純 purify 使純凈 rect=right, straight 正,直 correct 改正,糾正 rupt=break 破 rupture 破裂,使裂開 sal=salt 鹽 salary 薪水 sci=know 知 science 科學 sec, sequ=follow 跟隨 sequence 繼續,連續 sect=cut 切割 section 切開,一部分 sent, sens=feel 感覺 sentiment 感情,思想感情 son=sound 聲音 sonic 聲音的,音速的 spect=look 看 spectate 出席,觀看 spir=breathe 呼吸 inspire 鼓舞,吸入 tail=cut 切,割 tailor 裁縫,成衣商 tain, ten=hold 握,持,守 contain 容納,包含,內裝 tect=cover 掩蓋 detect 偵查,發覺 tempor=time 時 temporary 暫時的,臨時的 tend, tens=draw 拉 tension 拉緊,引力 tent, tract=draw 拉,抽,引 tractor 拖拉機 urb=city 城市 suburb 郊區,近郊 ut=use 用 utility 效用, 有用 vac, vacu=empty 空 vacancy 空白,空虛 vad, vas=walk, go 行走 invasion 入侵,侵略 vari=change 變化 variable 可變的,反復的 ven=come 來 convene 召集(會議),集會 vert, vers=turn 轉 subvert 推翻,顛覆 vi, via=way 路 via 取道,經由 vis, vid=see 看 visible 可見的,看得見的 vit=life 生命 vital 充滿活力的 viv=live 活 vivid 活潑的,有生氣的
[編輯本段]前綴形式
開放分類:英語、語法、學習、詞彙 [prefix]以結合形式出現,與一詞、詞根或短語開頭的一個音或連續幾個音相接,或書寫中一個字母或連續幾個字母用以產生出派生詞或變化形式。漢語里指在詞根前面的構詞成分。如「阿哥」、「阿姨」中的「阿」 英文中: 一個英語單詞可以分為三個部分:前綴(prefix),詞根(stem)及後綴(suffix)。單詞中位於詞根前面的部分就是前綴。前綴,可以改變單詞的意思。 常見的前綴有如下幾類:第一類:表示正負(或增減)的,如:un-in-im-il-ir-non-mis-mal-dis-anti-de-under-re-over-等;第二類表示尺寸的,如:semi-equi-mini-micro-macro-mega-等;第三類表示位置關系,如:inter-super-trans-ex-extra-sub-infra-peri-等;第四類表示時間和次序,如:ante-pre-prime-post-retro-等;第五類表示數字,如:semi-mono-bi-tri-quad-penta-hex-sept(em)-oct-dec-multi-等;其它類別,如:pro-auto-co-con-等。
一.表示否定的前綴
1.dis-加在名詞、形容詞,動詞之前。 disadvantage(缺點)dishonorable(不光彩的)disagree(不同意) 2.in-加在形容詞,名詞之前 incorrect(不正確的),inability(無能,無力),inaccurate(不準確的) 3.im-加在字母m,b,p之前 impossible(不順能的),impolite(不禮貌的),impudence(厚顏無恥) 4.il-加在以l開頭的詞前 illegal(非法的),illiterate(文盲的,無文化的)illogical(不合邏輯的) 5.ir-加在以r開頭的詞前 irregular(不規則的),irresistable(不可抵抗的),irresolvable(不能分解的,不能解決的) 6.un-加在名詞,形容詞,副詞之前 unfinished(未完成的)undoubted(無疑的)unemployment(失業) 7.non-加在形容詞,名詞前 non-existence(不存在),non-essential(不主要的),non-electrical(非電的) 8.mis-加在動詞、名詞之前 misunderstand(誤解),misjudge(誤判),misleading(誤導),misfortune(不幸) 9.dis-加地動詞之前 disappear(消失),disarm(解除武裝),disconnect(失去聯系) 10.de-加在名詞,形容詞之前 demobilize(遣散;使…復員)decolor(脫色,漂白) 11.anti-加在名詞、形容詞之前 anti-Japanese(抗日戰爭),anti-social(厭惡社會的,反社會的),antidote(解毒葯) 12.counter-加在名詞、動詞前 counterattack(反攻,反擊),counteract(抵抗,阻礙)counterrevolution(反革命) 13. a-在名詞前,表示相反,加強 arrest,affluent
二.表示「前before」的前綴
1.pre- preconception(成見),pre-exsiting(先於……而存在的),pre-selection(選舉前的)preface(前言) 2.Ante- anteroom(前室,接待室),antecessor(先行者,先驅者) 3.Fore- forehead(前額),foreground(前景),foreman(工頭,領班),foresee(預見,先見),foretell(預言) 4.Pro- programme(計劃),prologue(序幕) 5.Ex- ex-president(前任總統)ex-wife(前妻)
三.表示其他的前綴
表示「後-post」的前綴 1.post- post-war(戰後),post-plsition(後置詞),postmeridian(下午) 表示「低」、「下」的前綴 1.Hypo- Hypocrisy(偽善,虛偽),hypothesis(假設),hypochlorite(次氯酸鹽) 2.Infra- Infra-red(紅外線),infrahuman(低於人類的),infrasonic(亞聲的,次聲的) 3.Sub- Sub-editou(副編輯),sub-way(地鐵),sub-conscious(下意識的),submarine(海下的),subtropical(亞熱帶的),subtitle(副標題) 表示「回」、「再次」、「向後」的前綴 1.Re- Refuel(給…加油),retranslate(再譯),reinforce(加強),reconstruct(重建),return(返回) 2.Retro- Retrograde(倒退的),retrospect(回顧) 表示「共同」、「和」的前綴 1.Co- co-exist(共存),co-operate(合作),co-ecation(男女同校) 表示「相互」、「之間」的前綴 1.Inter- Interchangeble(可互換的),interdipendert(互相依靠的),international(國際的),inter-national(交往) 表示「出」、「超出」的前綴 1.Ec- Eclipse(蝕),ecstasy(狂想) 2.Extra- Extraordinary(非凡的),extramural(校外的),extrasensory(超感覺的) 表示「超過」的前綴 1.hyper-,preter-,super-,sur-,ultra- hyper-sensitive(過敏的),preterhuman(超人的)
其它的前綴
1.auto-自 automatic(自動的),auto-autobilgraphy(自傳) 2.mal-壞,惡 Malnutrition(營養不良),maltreat(虐待) 3.Micro- Microscope(顯微鏡),microtome(切片機) 4.Tele-遠 Telegram(電報),telephone(電話),telescope(望遠鏡) 5.Demi-,semi-hemi- Semi-circle(半圓),hemisphere(半球),demilune(半月,新月) 6.Uni-,mono-(單一,單獨) Monotone(單調),monologue(獨白),uniform(制服) 7.Bi-,di-二 Biyearly(二年一次的),biweekly(二周一次的),dichloride(二氯化物) 8.Tri-三 Triangle(三角),tripld(三角架) 9.Multi-多 multi-colored(顏色多樣的),multi-national(多國的) 10.Poly–多 Polygon(多角形),polytomic(多原子的) 11.Arch-首領 archbishop(大主教),architect(建築師) 12.bene-善,好 benefit(利益),benevolence(善意) 13.homo-同 homosexual(同性戀的),homograph(同形異義字) 14.neo新 neo-colonialism(新殖民主義),neolithic(新石器時代的) 15.ortho-正確,直 orthogonal(直角的),orthodox(正統) 16.philo-摯愛 philosopher(哲學家) 17.proto-原始 protohydrogen(初氫),prototype(原型),protoplasm(原生質) 18.pseudo-假的,偽的,冒充的 pseudonym(匿名),pseudo-communism(假共產主義) 19.a-,ab-,abs-(只有在t,c之前)從,自 avoid(避免),absent(缺少的),abstain(抑制),abstract(吸引) 20.Apo-,aph-來自 apology(道歉,謝罪),apostle(倡言者,先驅) 21.se-分離 separation(分開),secure(安全的),sedition(煽動叛亂) 22.para-防 parachute(降落傘), 23.omni-所有的,公共的 omnibus(公共汽車),omnipotence(萬能) 24.pan-全,泛 Pan-American(全美的),pancean(萬靈葯),panorama(風景的全貌;萬花筒) 25.panto-全 pantisocracy(烏托邦大同世界),pantoscopic(視野廣大) 26.dia-通過,藉以 diagonal(對角的),diagnosis(診斷),dialogue(對話) 27.Per-通過,徹底,不利 perambrlate(走來走去),perfect極好的 28.trans-通過,橫過 transcript(抄本,副本;記錄),translation(翻譯),trxnsparent(透明的),transport(運輸),trans-plant(移植) 29.Com-,con-,cor-,col-共同,和,完全 comment(評論),compile(編輯),correlation(相互關系),collect(收集),corruption(貪污腐敗),collaborate(合作,合著) 30.syn-共同 synonym(同義詞),synchronization(同步),syntonic(諧振的),synthetic(人工的,合成的) 31.meta-和,在……之後 metaphor(比喻),metaphysics(形而上學) 32.Cis-在這一邊 cisatlantic(大西洋這邊的) 33.pen- 把關入圍欄, 囚禁 peninsular(.住在半島上的居民,半島(狀)的,形成半島的) 34.en-,em-往……里,使…… encamp(扎營),enable(使……能),endear(使……受喜愛),embrace(擁抱,抓住(機會)) 35.intro內在 intracardiac(心臟內部的),intramolecular(分子內部的),intracellular(細胞內部的) 36.intro-到……中 introce(介紹),introspect(反省,內省) 37.dys-壞 dyspepsia(消化不良),dysentry(痢疾) 38.Eu-優,美好 eulogy(頌詞),euphony(悅耳的聲音) 39.ambi-,amphi-兩者 amphibian(兩棲的),ambidextrous(兩只手都很靈巧的;心懷二意的;非常靈巧的) 40.penta-五 pentagon(五角大樓),pentagram(五角星),pentameter(五步詩句) 41.sex-六 sexangle(六角),sexennial(六年一度的) 42.sept-七 September九月(古羅馬的七月),septennial(七年一度) 43.hepta-七 heptab(七個成套之物),heptagon(七角形) 44.octa-,octo,oct八 octagon(八角形),octuple(八倍)October(十月) 45.nona-,ennea-九 nonagon(九角形),ennead(九個一組) 46.deci-,deca-十 decimal(十進位的),decagramme(十克) 47.centi-百 centimeter(厘米),centipede(蜈蚣) 48.milli-千 millenary(千年的),millimeter(毫米) 49.Kilo-千 kilowatt(千瓦),kilometer(千米)
[編輯本段]後綴形式
開放分類:英語、語言 後綴是一種重要的構詞法,通過後綴我們常常可以判斷出一個詞的詞性。下面分四大類分別講解一些常見後綴及其含義:
一、名詞後綴
常見的此類後綴及其具體含義如下: 1.-ster,-eer,-er(or)意為:從事某種職業或參與某種活動的人()例詞:gamester,gangster,songster,engineer,profiteer,mountaineer,auctioneer,driver,teacher,director,actor,professor 2.-let意為:小或者不重要的東西(small,unimportantthings)例詞:booklet,leaflet,starlet 3.-ette意為:1)小的東西(small)例詞:cigarette2)假的東西(imitation)例詞:leatherette3)女性(female)例詞:usherette 4.-ess意為:女性(female)例詞:actress,poetess,hostess,paintress 5.-hood意為:時期(status;etc.)例詞:boyhood,childhood,manhood 6.-ship意為:才能,狀態,資格,品質等(skill,state,condition,status,quality)例詞:leadership,friendship,membership,lectureship,sportsmanship 7.-ful意為:量(theamountwhichnouncontains)例詞:cupful,handful,mouthful,spoonful 8.-tion,-ion意為:1)狀態,行動等(state;action;etc.)例詞:action,oppression,possession,ecation,starva-tion2)機構等(institution;etc.)例詞:organization,foundation 9.-ment意為:狀態,行動等(state;action;etc.)例詞:movement,enslavement,pavement 10.-al意為:動作(action)例詞:arrival,refusal,revival,recital,removal 11.-age意為:程度,數量等(extent;amount;etc.)例詞:wastage,coverage,acreage,shrinkage,breakage,hostage 12.-ness;-ity(ty)意為:狀態,品質(state;quality;etc.)例詞:happiness,usefulness,selfishness,kindness,rapidity,activity,sanity,changeability 13.-ism意為:道義,主義,學說等(doctrineof,practiceof)例詞:idealism,impressionism,absenteeism,racism
二、動詞後綴
常見的此類後綴及其具體含義如下: 1.-ify意為:轉為,變為(toturninto,tomakeorbecome)例詞:beautify,diversify,simplify 2.-ize;-en意為:使……,變得……(tomakeorbecome;tomakeinto)例詞:modernize,popularize,legalize,hospitalize,symbolize,ripen,widen,heighten,threaten 3.-ate意為:增加,使……(giveoradd,makeorbecome)例詞:originate,hydrogenate,validate,differentiate
三、形容詞後綴:
常見的此類後綴及其具體含義如下: 1.-ful意為:充滿,有(fullof;hav-ing;giving;etc.)例詞:useful,pitiful,hopeful,helpful,forgetful,thankful,fearful 2.-less意為:沒有,無(without;notgiving)例詞:speechless,childless,harmless,hopeless,meaningless 3.-ly意為:有……品質的(havingthequalitiesof)例詞:beastly,manly,brotherly,friendly 4.-like意為:像……的(like)例詞:childlike,statesmanlike,tiger-like 5.-y;-ish意為:像……一般的(somewhatlike)例詞:meaty,sandy,silky,hairy,leafy,watery,foolish,girlish,blackish,thinnish 6.-some意為:像……一樣的;引起……的;有……品質的(like;causing;havingthequalityof)例詞:troublesome,burdensome,wholesome,tiresome,bothersome 7.-able(ible)意為:能……的;可以……的(abletobe;capable)例詞:changeable,readable,drinkable,comfortable,expansible,convincible 8.-ed意為:有……的(having,etc.)例詞:wooded,pointed,moneyed,odd-shaped 9.-al意為:有……屬性的,……類型的(natureof,typicalof)例詞:cultural,personal,regional,musical 10.-ary(ory)意為:屬於……的,與……相連的(belongingto;connectedwith)例詞:revolutionary,imaginary,contradictory 11.-ous意為:富含……的;有……品質的;像……的(fullof;havingthequalityof;like)例詞:glorious,erroneous,malicious,gracious 12.-ic(ical)意為:……類的;屬於……的(typicalof;belongingto)例詞:historic,historical,methodic,methodical,dramatic,heroic 13.-ive意為:有……屬性的;有某種傾向的(havingthenatureorqualityof;givenortendingto)例詞:attractive,talkative,restrictive,defensive,preventive,constructive,sensitive
四、副詞後綴
常見的此類後綴及其具體含義如下: 1.-ly意為:以……方式(ina...manner;etc.) 例詞:happily,boldly,attentive-ly,strangely 2.-ward(s)意為:表示方式或動作的方向(manneranddirectionofmovement)例詞:onward(s),backward(s),earthward(s),homeward(s),eastward(s) 3.-wise意為:1)按照……方式(inthemannerof)例詞:crabwise,clockwise2)就……而言(as faras...isconcerned)例詞:weatherwise,ecationwise
[編輯本段]詞性簡寫
n.名詞 v.動詞 pron.代詞 adj.形容詞 adv.副詞 num.數詞 art.冠詞 prep.介詞 conj.連詞 interj.感嘆詞
❸ mysql數據同步,Seconds_Behind_Master為正值,該如何解決
到這里本系列已經接近尾聲了,是時候對常見引起主從延遲的情形進行一個總結了。我想如果我一開始就把這些情形拿出來也許大家對具體的原因不是那麼清楚,但是經過本系列的學習,我相信當我說起這些情形的時候大家都很清楚它的原因了。當然如果還有其他造成延遲的情形也歡迎大家一起討論。
一、總結
有了前面的知識我們就能夠從本質上了解造成延遲的可能有哪些,我先來總結一下這些可能,我將其分為兩類:
第一類:這一類延遲情況可能造成伺服器有較高的負載,可能是 CPU/IO 的負載。因為從庫在實際執行 Event,如果我們伺服器的負載比較高應該考慮這幾種情況,關於如何查看線程的負載可以參考 29 節(線程簡介和 MySQL 調試環境搭建)。
大事務造成的延遲,其延遲不會從 0 開始增加,而是直接從主庫執行了多久開始。比如主庫執行這個事務花費的 20 秒,那麼延遲就會從 20 開始,可以自己細心觀察一下很容易看到。這是因為 Query Event 中沒有準確的執行時間,這個在上一節的計算公式中詳細描述過了 ,可以參考第 8 節和第 27 節。
大表 DDL 造成的延遲,其延遲會從 0 開始增加,因為 Query Event 記錄了准確的執行時間。這個在上一節的計算公式中也詳細描述過了,可以參考第 8 節和第 27 節。
表沒有合理的使用主鍵或者唯一鍵造成的延遲。這種情況不要以為設置 slave_rows_search_algorithms 參數為 INDEX_SCAN,HASH_SCAN 就可以完全解決問題,原因我們在第 24 節(從庫數據的查找和參數 slave_rows_search_algorithms)進行了描述。
由於參數 sync_relay_log,sync_master_info,sync_relay_log_info 不合理導致,特別是 sync_relay_log 會極大的影響從庫的性能。原因我們在第 26 節進行過描述,因為 sync_relay_log 設置為 1 會導致大量 relay log 刷盤操作。
是否從庫開啟了記錄 binary log 功能即 log_slave_updates 參數開啟,如果不是必要可以關閉掉。這種情況我遇到很多次了。
- 這一類延遲情況往往不會造成伺服器有較高的負載。它們要麼沒有實際的執行 Event ,要麼就是做了特殊的操作造成的。
長期未提交的事務可能造成延遲瞬間增加,因為 GTID_EVENT 和 XID_EVENT 是提交時間其他 Event 是命令發起的時間。這個我們在第 27 節中舉例描述過了。
Innodb 層的行鎖造成的延遲,這種是在從庫有修改操作並且和 SQL 線程修改的數據有沖突的情況下造成的,因為我們前面 23 節說過 SQL 線程執行 Event 也會開啟事務和獲取行鎖,下面我們進行測試。
MySQL 層的 MDL LOCK 造成的延遲,這種情況可能是由於 SQL 線程執行某些 DDL 操作但是從庫上做了鎖表操作造成,原因我們已經在 23 節描述過了,下面我們進行測試。
MTS 中不合理的設置參數 slave_checkpoint_period 參數導致,這個在第 27 節已經測試過了。
在從庫運行期間手動改大了從庫伺服器時間,這個也在第 27 節已經測試過了。
- 二、相關測試因為上面的延遲情形很多我們都已經測試和講述過了。下面我們測試鎖造成的延遲情形。
- 這個很容測試,我只要先在從庫做一個事務和 SQL 線程修改的數據相同即可以出現,大概測試如下:
從庫:
mysql> begin;
Query OK, 0 rows affected (0.00 sec)
mysql> delete from tmpk;
Query OK, 4 rows affected (0.00 sec)
不要提交
主庫執行同樣的語句
mysql> delete from tmpk;
Query OK, 4 rows affected (0.30 sec)
- MySQL 層的 MDL LOCK 造成的延遲
從庫:
mysql> begin;
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql>
mysql> select * from tkkk limit 1;
+------+------+------+
| a | b | c |
+------+------+------+
| 3 | 3 | 100 |
+------+------+------+
1 row in set (0.00 sec)
不要提交,表上MDL LOCK就不會釋放
主庫執行語句:
mysql> alter table tmpk add testc int ;
Query OK, 0 rows affected (1.14 sec)
Records: 0 Duplicates: 0 Warnings: 0
- 這個時候你將會看到如下的信息:
- 我們可以通過 state 看到這是等待 MDL lock 獲取而導致的延遲,關於 MDL lock 的詳情可以參考我的文章:http://blog.itpub.net/7728585/viewspace-2143093/
- 三、總結通過整個系列,我們應該清楚了 Seconds_Behind_Master 計算的方法,同時如果出現了延遲,我們首先查看從庫是否有負載,根據是否有負載進行區別對待,注意這里的負載一定要使用top -H查看 io/sql/worker 線程的負載。我曾不止一次的遇到朋友問我延遲問題,當我問他負載如何的時候他告訴我負載不高啊整體負載也就不到 2,這里我們應該注意的是對於一個線程只能使用到一個 CPU 核,雖然整體負載不到 2 但是可能 io/sql/worker 線程已經跑滿了,實際上負載已經很高了,我們來看下面的這個截圖就是 sql 線程負載高的截圖如下:
- 這個截圖我們發現雖然整體負載不高在 1 多一點,但是 Lwp 號 20092 的線程已經跑滿了,這個線程就是我們的 sql 線程,這個時候出現延遲是很可能的,這個截圖正是來自一個沒有合理使用主鍵或者唯一鍵造成的延遲的案例,案例如下:https://www.jianshu.com/p/56e8ca2223a0我們查看 CPU 負載應該使用top -H去查看,查看 io 負載可以使用 iotop,iostat 等工具。我需要強調一下看 MySQL 負載的時候我們必須用線程的眼光去看,第 29 節將讓你獲得這種能力。
第二類:
Innodb 層的行鎖造成的延遲
這個時候你會觀察到延遲如下:
如果查看 sys.innodb_lock_waits 能看到如下的結果:
當然如果查看 INNODB_TRX 也可以觀察到事務的存在,這里就不截圖了,大家可以自己試試。
這種情況也非常容易測試,我們只需要開啟一個事務做一個 select ,然後主庫對同樣的表做 DDL 就可以出現如下:
到這里整個系列接近尾聲,大家會發現主從的原理的還是比較復雜的,這可能顛覆了以前我們的認知,以前我們認為主從無非就是搭建起來能跑同時知道有 io/sql 線程就可以了(這確實很簡單)。整個系列結論很簡單,我們無非就是想配置出安全高效的從庫同時知道延遲是怎麼導致的,出現延遲後我們如何處理,我自認為本系列還是將這些問題講解得很清楚了。當然如果本系列的原理部分都能夠理解得很好,那麼工作中解決主從問題一定會更加得心應手。