規(guī)則2生效。
[0038]上述主要是針對(duì)分布式數(shù)據(jù)庫不停業(yè)務(wù)的擴(kuò)容方法,分布式數(shù)據(jù)庫短停業(yè)務(wù)擴(kuò)容方法包括:
[0039](I)停止業(yè)務(wù),確保無新數(shù)據(jù)的寫入。
[0040](2)在各個(gè)節(jié)點(diǎn)上通過Mysqldump工具將拆分表數(shù)據(jù)全部導(dǎo)出;
[0041](3)清空原節(jié)點(diǎn)中要擴(kuò)容表的數(shù)據(jù),在新添加的節(jié)點(diǎn)上建要擴(kuò)容的表
[0042](4)修改代理切分規(guī)則,并加載代理配置文件。
[0043](5)在代理端將各個(gè)節(jié)點(diǎn)的導(dǎo)出的數(shù)據(jù)導(dǎo)入。
[0044]圖4為本發(fā)明所述分布式數(shù)據(jù)庫擴(kuò)容的系統(tǒng)結(jié)構(gòu)圖。
[0045]如圖4所示,一種分布式數(shù)據(jù)庫擴(kuò)容的系統(tǒng),包括數(shù)據(jù)切分模塊、代理規(guī)則修改模塊、數(shù)據(jù)庫刪除模塊和備份節(jié)點(diǎn)設(shè)置模塊;所述數(shù)據(jù)切分模塊用于通過代理規(guī)則I將數(shù)據(jù)庫系統(tǒng)I將Mysql_A和Mysql_B的數(shù)據(jù)均切分到兩個(gè)數(shù)據(jù)庫上;其中數(shù)據(jù)庫系統(tǒng)I包括與08卩抓17相連的1^891_4和1^891_8,且1^891_4和1^891_8的數(shù)據(jù)設(shè)置為雙主互備;經(jīng)過切分后,Mysql_A的數(shù)據(jù)切分到數(shù)據(jù)庫Schemal和數(shù)據(jù)庫Schema2上,Mysql_B的數(shù)據(jù)切分到數(shù)據(jù)庫Schemal和數(shù)據(jù)庫Schema2上;所述代理規(guī)則修改模塊用于將代理規(guī)則I修改為代理規(guī)則2,在所述代理規(guī)則2中設(shè)置Mysql_B的備份節(jié)點(diǎn)都為本身;所述數(shù)據(jù)庫刪除模塊用于根據(jù)代理規(guī)則2停止Mysql_A和Mysql_B的數(shù)據(jù)復(fù)制功能并刪除Mysql_A包含的數(shù)據(jù)庫Schema2以及Mysql_B包含的數(shù)據(jù)庫Schemal ;所述備份節(jié)點(diǎn)設(shè)置模塊用于設(shè)置]\^891_々和Mysql_B的備份節(jié)點(diǎn)分別為Mysql_A_slave和Mysql_B_slave,并使用在線備份工具 xtrabackup 將 Mysql_A 和 Mysql_B 的數(shù)據(jù)分別導(dǎo)入到 Mysql_A_slave 和 Mysql_B_slave中。以導(dǎo)入數(shù)據(jù)的結(jié)束點(diǎn)為起始配置Mysql_B與Mysql_A_slave和Mysql_B_slave主從互備。在代理規(guī)則2中設(shè)置Mysql_A_slave和Mysql_B_slave為Mysql_A和Mysql_B的備份節(jié)點(diǎn)。
[0046]以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種分布式數(shù)據(jù)庫擴(kuò)容的方法,其特征在于,包括以下步驟: 步驟SI,通過代理規(guī)則I將數(shù)據(jù)庫系統(tǒng)I將Mysq 1_A和Mysq 1_B的數(shù)據(jù)均切分到兩個(gè)數(shù)據(jù)庫上;其中數(shù)據(jù)庫系統(tǒng)I包括與DBProxy相連的兩個(gè)Mysq 1,分別為Mysq 1_A和Mysq 1_B,且Mysq 1_A和Mysq 1_B的數(shù)據(jù)設(shè)置為雙主互備;經(jīng)過切分后,Mysq 1_A的數(shù)據(jù)切分到數(shù)據(jù)庫Schemal和數(shù)據(jù)庫Schema2上,Mysq 1_B的數(shù)據(jù)切分到數(shù)據(jù)庫Schemal和數(shù)據(jù)庫Schema2上; 步驟S2,將代理規(guī)則I修改為代理規(guī)則2 ; 步驟S3,根據(jù)代理規(guī)則2停止Mysq 1_A和Mysq 1_B的數(shù)據(jù)復(fù)制功能并刪除Mysq 1_A包含的數(shù)據(jù)庫Schema2以及Mysq 1_B包含的數(shù)據(jù)庫Schemal ; 步驟S4,設(shè)置Mysq 1_A和Mysq 1_B的備份節(jié)點(diǎn)分別為Mysq l_A_s I ave和Mysq 1_B_s I ave,并將 Mysq 1_々和]\^89 1_B 的數(shù)據(jù)分別導(dǎo)入到 Mysq l_A_s I ave 和 Mysq 1_B_s I ave 中 ο2.根據(jù)權(quán)利要求1所述的分布式數(shù)據(jù)庫擴(kuò)容的方法,其特征在于,步驟2中,在所述代理規(guī)則2中設(shè)置Mysq 1_A和Mysq 1_B的備份節(jié)點(diǎn)都為本身。3.根據(jù)權(quán)利要求1所述的分布式數(shù)據(jù)庫擴(kuò)容的方法,其特征在于,步驟S4中,使用在線備份工具xtrabackup將Mysq 1_A和Mysq 1_B的數(shù)據(jù)分別導(dǎo)入到Mysq l_A_s I ave和Mysq l_B_s I ave 中。4.根據(jù)權(quán)利要求1所述的分布式數(shù)據(jù)庫擴(kuò)容的方法,其特征在于,步驟S4中,以導(dǎo)入數(shù)據(jù)的結(jié)束點(diǎn)為起始配置 Mysq 1_A 和 Mysq 1_B 與 Mysq l_A_s I ave 和 Mysq l_B_s I ave主從互備。5.根據(jù)權(quán)利要求1所述的分布式數(shù)據(jù)庫擴(kuò)容的方法,其特征在于,步驟S4后,在代理規(guī)則 2 中設(shè)置 Mysq l_A_s I ave 和 Mysq l_B_s I ave 為 Mysq 1_A 和 Mysq 1_B 的備份節(jié)點(diǎn)。6.—種分布式數(shù)據(jù)庫擴(kuò)容的系統(tǒng),其特征在于,包括數(shù)據(jù)切分模塊、代理規(guī)則修改模塊、數(shù)據(jù)庫刪除模塊和備份節(jié)點(diǎn)設(shè)置模塊; 所述數(shù)據(jù)切分模塊用于通過代理規(guī)則I將數(shù)據(jù)庫系統(tǒng)I將Mysq 1_A和Mysq 1_B的數(shù)據(jù)均切分到兩個(gè)數(shù)據(jù)庫上;其中數(shù)據(jù)庫系統(tǒng)I包括與DBProxy相連的兩個(gè)Mysq 1,分別為Mysq 1_A和Mysq 1_B,且Mysq 1_A和Mysq 1_B的數(shù)據(jù)設(shè)置為雙主互備;經(jīng)過切分后,Mysq 1_A的數(shù)據(jù)切分到數(shù)據(jù)庫Schemal和數(shù)據(jù)庫Schema2上,Mysq 1_B的數(shù)據(jù)切分到數(shù)據(jù)庫Schemal和數(shù)據(jù)庫Schema2上; 所述代理規(guī)則修改模塊用于將代理規(guī)則I修改為代理規(guī)則2 ; 所述數(shù)據(jù)庫刪除模塊用于根據(jù)代理規(guī)則2停止Mysq1_B的數(shù)據(jù)復(fù)制功能并刪除Mysq 1_A包含的數(shù)據(jù)庫Schema2以及Mysq 1_B包含的數(shù)據(jù)庫Schemal ; 所述備份節(jié)點(diǎn)設(shè)置模塊用于設(shè)置Mysq1_B的備份節(jié)點(diǎn)分別為Mysq 1_A_s I ave 和 Mysq l_B_s I ave,并將 Mysq 1_A 和 Mysq 1_B 的數(shù)據(jù)分別導(dǎo)入到 Mysq l_A_sI ave 和 Mysq l_B_s I ave 中。7.根據(jù)權(quán)利要求6所述的分布式數(shù)據(jù)庫擴(kuò)容的系統(tǒng),其特征在于,在所述代理規(guī)則2中設(shè)置Mysq1_B的備份節(jié)點(diǎn)都為本身。8.根據(jù)權(quán)利要求6所述的分布式數(shù)據(jù)庫擴(kuò)容的系統(tǒng),其特征在于,使用在線備份工具xtrabackup 將 Mysq I—A 和 Mysq I—B 的數(shù)據(jù)分別導(dǎo)入到 Mysq I—A—s I ave 和 Mysq I—B—sI ave 中。9.根據(jù)權(quán)利要求6所述的分布式數(shù)據(jù)庫擴(kuò)容的系統(tǒng),其特征在于,以導(dǎo)入數(shù)據(jù)的結(jié)束點(diǎn)為起始配置 Mysq I—A 和 Mysq I—B 與 Mysq I—A—s I ave 和 Mysq I—B—s I ave 主從互備。10.根據(jù)權(quán)利要求6所述的分布式數(shù)據(jù)庫擴(kuò)容的系統(tǒng),其特征在于,在代理規(guī)則2中設(shè)置 Mysq I—A—s I ave 和 Mysq I—B—s I ave 為 Mysq I—A 和 Mysq I—B 的備份節(jié)點(diǎn)。
【專利摘要】本發(fā)明涉及一種分布式數(shù)據(jù)庫擴(kuò)容的方法和系統(tǒng),包括步驟S1,通過代理規(guī)則1將數(shù)據(jù)庫系統(tǒng)1將Mysql_A和Mysql_B的數(shù)據(jù)均切分到兩個(gè)數(shù)據(jù)庫上;其中數(shù)據(jù)庫系統(tǒng)1包括與DBProxy相連的Mysql_A和Mysql_B,且Mysql_A和Mysql_B的數(shù)據(jù)設(shè)置為雙主互備;經(jīng)過切分后,Mysql_A的數(shù)據(jù)切分到數(shù)據(jù)庫Schema1和數(shù)據(jù)庫Schema2上,Mysql_B的數(shù)據(jù)切分到數(shù)據(jù)庫Schema1和數(shù)據(jù)庫Schema2上;步驟S2,將代理規(guī)則1修改為代理規(guī)則2;步驟S3,根據(jù)代理規(guī)則2停止Mysql_A和Mysql_B的數(shù)據(jù)復(fù)制功能并刪除Mysql_A包含的數(shù)據(jù)庫Schema2以及Mysql_B包含的數(shù)據(jù)庫Schema1;步驟S4,設(shè)置Mysql_A和Mysql_B的備份節(jié)點(diǎn)分別為Mysql_A_slave和Mysql_B_slave,并將Mysql_A和Mysql_B的數(shù)據(jù)分別導(dǎo)入到Mysql_A_slave和Mysql_B_slave中;本發(fā)明操作簡單,擴(kuò)容時(shí)間短;支持所有場景的分布式數(shù)據(jù)庫的擴(kuò)容。
【IPC分類】G06F17/30
【公開號(hào)】CN105069109
【申請(qǐng)?zhí)枴緾N201510484950
【發(fā)明人】王虎
【申請(qǐng)人】北京思特奇信息技術(shù)股份有限公司
【公開日】2015年11月18日
【申請(qǐng)日】2015年8月7日