• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      MySQL NDB Cluster數(shù)據(jù)庫系統(tǒng)在線升級方案及實踐綜述

      2020-05-25 02:28袁曉東
      科學(xué)與信息化 2020年5期

      摘 要 本文介紹了MySQL NDB Cluster數(shù)據(jù)庫集群利用滾動重啟進(jìn)行在線版本升級的方案,并進(jìn)一步給出了在線升級的詳細(xì)實施步驟。實踐證明利用該升級方案可以在不中斷數(shù)據(jù)庫服務(wù)的情況下實現(xiàn)數(shù)據(jù)庫版本升級,MySQL NDB Cluster數(shù)據(jù)庫具備了卓越的高可用性。

      關(guān)鍵詞 MySQL;NDB Cluster;在線升級;高可用

      概述

      MySQL NDB Cluster數(shù)據(jù)庫集群采用無共享方案,將數(shù)據(jù)存放在內(nèi)存中,具備高性能、高可用、無單點故障、可寫擴展等優(yōu)點[1]。它能達(dá)到99.999%的高可用性,即使其他數(shù)據(jù)庫系統(tǒng)中令人頭疼的版本升級,它也提供了在線升級方法,在不需要關(guān)閉數(shù)據(jù)庫、不需要中斷服務(wù)的情況下就能輕松完成[2]。本文將具體介紹NDB Cluster數(shù)據(jù)庫集群的在線升級方案和實施步驟。

      1 MySQL NDB Cluster版本在線升級方案

      MySQL NDB Cluster集群通常由至少兩個管理節(jié)點、多個數(shù)據(jù)節(jié)點和多個SQL節(jié)點組成,這樣任何一個節(jié)點出現(xiàn)故障,其他節(jié)點可以接手故障節(jié)點的任務(wù),從而實現(xiàn)了整個集群的無單點故障。利用該特性可以實現(xiàn)NDB Cluster版本的在線升級,其方案是依次停掉集群中的一個節(jié)點,對該節(jié)點上的數(shù)據(jù)庫軟件進(jìn)行版本升級,然后啟動該節(jié)點加入集群,待到所有節(jié)點均升級完畢,整個NDB Cluster集群便完成了版本升級過程,整個過程中數(shù)據(jù)庫均是可用的,沒有中斷服務(wù)。

      完整的在線升級和滾動重啟方案如圖1所示:

      2 升級實施步驟

      本節(jié)以典型的MySQL NDB Cluster 7.5集群為例介紹其具體的版本升級步驟。假設(shè)集群有兩個管理節(jié)點,節(jié)點id為49、50,2個數(shù)據(jù)節(jié)點組共4個數(shù)據(jù)節(jié)點,節(jié)點id為1、2、3、4,3個SQL節(jié)點,服務(wù)器均為Linux操作系統(tǒng),數(shù)據(jù)庫安裝目錄為/usr/local/mysql,則版本在線升級的實施步驟如下:

      (1)在管理節(jié)點50的ndb_mgm中執(zhí)行以下命令停止管理節(jié)點49:

      49 stop

      (2)將管理節(jié)點49上所有的ndb_mgmd和ndb_mgm均替換為升級版本的文件。

      (3)在管理節(jié)點49上執(zhí)行以下命令重新啟動管理節(jié)點:

      ndb_mgmd

      (4)重復(fù)步驟1-3升級管理節(jié)點50。

      (5)在管理節(jié)點的ndb_mgm執(zhí)行以下命令停止數(shù)據(jù)節(jié)點1:

      1 stop

      (6)將數(shù)據(jù)節(jié)點1上的ndbd、ndbmtd、ndb_restore替換為升級版本的文件。

      (7)在數(shù)據(jù)節(jié)點1上執(zhí)行以下命令重新啟動該數(shù)據(jù)節(jié)點:

      ndbmtd

      (8)重復(fù)步驟5-7依次升級數(shù)據(jù)節(jié)點2、3、4。

      (9)在SQL節(jié)點1的mysql中執(zhí)行以下命令:

      set global innodb_fast_shutdown = 0

      (10)在SQL節(jié)點1上執(zhí)行以下命令停止SQL節(jié)點1:

      service mysql.server stop

      (11)將SQL節(jié)點1上的除data目錄外的全部SQL節(jié)點命令文件替換為升級版本的文件。

      (12)執(zhí)行以下命令給新文件賦權(quán)限并替換系統(tǒng)文件:

      cd /usr/local/mysql

      cp support-files/mysql.server /etc/rc.d/init.d/

      chmod +x /etc/rc.d/init.d/mysql.server

      chkconfig --override mysql.server

      chgrp -R mysql .

      chown -R root .

      chown -R mysql data

      (13)在SQL節(jié)點1上執(zhí)行以下命令啟動SQL節(jié)點1:

      service mysql.server start

      (14)重復(fù)步驟9-13升級SQL節(jié)點2和SQL節(jié)點3。

      至此,在線升級完成。

      3 結(jié)束語

      作者多次采用本文所述方案對電信級生產(chǎn)系統(tǒng)中的MySQL NDB Cluster數(shù)據(jù)庫系統(tǒng)進(jìn)行在線版本升級,均順利成功,服務(wù)未受影響。而業(yè)界常用的Oracle RAC數(shù)據(jù)庫集群,其版本升級一般均須停庫實施。實踐表明NDB Cluster數(shù)據(jù)庫系統(tǒng)日趨成熟穩(wěn)定,在絕大多數(shù)場景下可以作為傳統(tǒng)商業(yè)數(shù)據(jù)庫系統(tǒng)的替代方案。

      參考文獻(xiàn)

      [1] 袁曉東.MySQL Cluster集群數(shù)據(jù)庫誤操作恢復(fù)方法研究[J].信息技術(shù)與信息化,2019,(12):212-215.

      [2] Oracle Corporation. 21.5.5 Performing a Rolling Restart of an NDB Cluster [EB/OL]. https://dev.mysql.com/doc/refman/5.7/en/mysql-cluster-rolling-restart.html,2020.

      作者簡介

      袁曉東(1973-),男,江蘇阜寧人;畢業(yè)院校:南京大學(xué),專業(yè):計算機軟件,學(xué)歷:博士,現(xiàn)就職單位:南京云白信息科技有限公司,研究方向:數(shù)據(jù)庫、大數(shù)據(jù)、機器學(xué)習(xí)、信息安全、軟件工程、形式化方法等。

      微山县| 凉城县| 兴文县| 昌宁县| 阿克苏市| 吉首市| 岳普湖县| 保亭| 金堂县| 宁德市| 炉霍县| 高碑店市| 彰化县| 友谊县| 德保县| 安福县| 凤翔县| 怀化市| 光泽县| 油尖旺区| 平利县| 金寨县| 阿拉善左旗| 绥阳县| 西乌| 吴旗县| 天柱县| 房产| 汶上县| 河间市| 隆安县| 当雄县| 北宁市| 郴州市| 桃园市| 洞口县| 余庆县| 和林格尔县| 武定县| 济宁市| 孝感市|