這種架構(gòu)一般用在以下三類(lèi)場(chǎng)景
成都創(chuàng)新互聯(lián)公司致力于網(wǎng)站建設(shè),網(wǎng)站制作設(shè)計(jì),營(yíng)銷(xiāo)網(wǎng)頁(yè)按需網(wǎng)站策劃,成都外貿(mào)網(wǎng)站制作,企業(yè)網(wǎng)站建設(shè),小程序制作,網(wǎng)站SEO優(yōu)化,網(wǎng)站設(shè)計(jì)制作案例豐富,是成都做網(wǎng)站公司和建站公司,歡迎咨詢。
1. 備份多臺(tái) Server 的數(shù)據(jù)到一臺(tái)如果按照數(shù)據(jù)切分方向來(lái)講,那就是垂直切分。比如圖 2,業(yè)務(wù) A、B、C、D 是之前拆分好的業(yè)務(wù),現(xiàn)在需要把這些拆分好的業(yè)務(wù)匯總起來(lái)備份,那這種需求也很適用于多源復(fù)制架構(gòu)。實(shí)現(xiàn)方法我大概描述下:業(yè)務(wù) A、B、C、D 分別位于 4 臺(tái) Server,每臺(tái) Server 分別有一個(gè)數(shù)據(jù)庫(kù)來(lái)隔離前端的業(yè)務(wù)數(shù)據(jù),那這樣,在從庫(kù)就能把四臺(tái)業(yè)務(wù)的數(shù)據(jù)全部匯總起來(lái),而不需要做額外的操作。那沒(méi)有多源復(fù)制之前,要實(shí)現(xiàn)這類(lèi)需求,只能在匯總機(jī)器上搭建多個(gè) MySQL 實(shí)例,那這樣勢(shì)必會(huì)涉及到跨庫(kù)關(guān)聯(lián)的問(wèn)題,不但性能急劇下降,管理多個(gè)實(shí)例也沒(méi)有單臺(tái)來(lái)的容易。
2. 用來(lái)聚合前端多個(gè) Server 的分片數(shù)據(jù)。
同樣,按照數(shù)據(jù)切分方向來(lái)講,屬于水平切分。比如圖 3,按照年份拆分好的數(shù)據(jù),要做一個(gè)匯總數(shù)據(jù)展現(xiàn),那這種架構(gòu)也非常合適。實(shí)現(xiàn)方法稍微復(fù)雜些:比如所有 Server 共享同一數(shù)據(jù)庫(kù)和表,一般為了開(kāi)發(fā)極端透明,前端配置有分庫(kù)分表的中間件,比如愛(ài)可生的 DBLE。
3. 匯總并合并多個(gè) Server 的數(shù)據(jù)
第三類(lèi)和第一種場(chǎng)景類(lèi)似。不一樣的是不僅僅是數(shù)據(jù)需要匯總到目標(biāo)端,還得合并這些數(shù)據(jù),這就比第一種來(lái)的相對(duì)復(fù)雜些。比如圖 4,那這樣的需求,是不是也適合多源復(fù)制呢?答案是 YES。那具體怎么做呢?
我google了一下大概有一下幾個(gè)方法,
1.復(fù)制表結(jié)構(gòu)及數(shù)據(jù)到新表
CREATE TABLE 新表 SELECT * FROM 舊表
2.只復(fù)制表結(jié)構(gòu)到新表
CREATE TABLE 新表 SELECT * FROM 舊表 WHERE 1=2
即:讓W(xué)HERE條件不成立.
3.復(fù)制舊表的數(shù)據(jù)到新表(假設(shè)兩個(gè)表結(jié)構(gòu)一樣)
INSERT INTO 新表 SELECT * FROM 舊表
4.復(fù)制舊表的數(shù)據(jù)到新表(假設(shè)兩個(gè)表結(jié)構(gòu)不一樣)
INSERT INTO 新表(字段1,字段2,.......) SELECT 字段1,字段2,...... FROM 舊表
1、在B機(jī)器上裝mysql。
將A機(jī)器上的mysql/data下的你的數(shù)據(jù)庫(kù)目錄整個(gè)拷貝下來(lái)。
將B機(jī)器上的mysql服務(wù)停止。
找到B機(jī)器上的mysql/data目錄,將你拷貝的目錄粘貼進(jìn)去,然后啟動(dòng)mysql服務(wù)就可以了。
2、使用SQL語(yǔ)句備份和恢復(fù)
你可以使用SELECT INTO OUTFILE語(yǔ)句備份數(shù)據(jù),并用LOAD DATA INFILE語(yǔ)句恢復(fù)數(shù)據(jù)。這種方法只能導(dǎo)出數(shù)據(jù)的內(nèi)容,不包括表的結(jié)構(gòu),如果表的結(jié)構(gòu)文件損壞,你必須要先恢復(fù)原來(lái)的表的結(jié)構(gòu)。
語(yǔ)法:
SELECT * INTO {OUTFILE | DUMPFILE} ’file_name’ FROM tbl_name
LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE ’file_name.txt’ [REPLACE | IGNORE]
INTO TABLE tbl_name
SELECT ... INTO OUTFILE ’file_name’
在Mysql程序中有我自己的一個(gè)數(shù)據(jù)庫(kù)共5張表,里邊數(shù)據(jù)不算太多。我現(xiàn)在想把他們?nèi)颗搅硪慌_(tái)電腦中去,該怎么弄,如果不用其它的軟件工具,只用Mysql自已的程序不知可否?
注:不用考慮操作系統(tǒng)。
---------------------------------------------------------------
在dos命令提示符下使用mysqldump命令進(jìn)行備份.
如下:
C:\Documents and Settings\Administratormysqldump yinshi c:\\backup.txt -uroot
-p12142022
說(shuō)明:yinshi是我的數(shù)據(jù)庫(kù)名,里面有5張表; c:\\backup.txt 是我備份出來(lái)文件名和路徑;
-u,-p參數(shù)后面跟的分別是用戶名和密碼.
將你備份出來(lái)的文件我這里是backup.txt拷貝到另一臺(tái)機(jī)上,再在dos命令提示符下用mysql命令,進(jìn)行恢復(fù),如下:
C:\Documents and Settings\Administratormysql c:\\backup.txt -uroot -p12142022
or
mysqlsource backup.txt;(這里backup.txt在放在data目錄下)
---------------------------------------------------------------
如果另一臺(tái)機(jī)器上也安裝了mysql,可以直接導(dǎo)入
C:\mysql\binmysqldump -h172.20.6.250 -udeveloper -p123456 --opt server_databasename | mysql -hlocalhost -uroot -C obj_databasename
172.20.6.250源服務(wù)器ip
developer源服務(wù)器連接用戶名
---------------------------------------------------------------
有兩種辦法。
1、在B機(jī)器上裝mysql。
將A機(jī)器上的mysql/data下的你的數(shù)據(jù)庫(kù)目錄整個(gè)拷貝下來(lái)。
將B機(jī)器上的mysql服務(wù)停止。
找到B機(jī)器上的mysql/data目錄,將你拷貝的目錄粘貼進(jìn)去,然后啟動(dòng)mysql服務(wù)就可以了。
2、使用SQL語(yǔ)句備份和恢復(fù)
你可以使用SELECT INTO OUTFILE語(yǔ)句備份數(shù)據(jù),并用LOAD DATA INFILE語(yǔ)句恢復(fù)數(shù)據(jù)。這種方法只能導(dǎo)出數(shù)據(jù)的內(nèi)容,不包括表的結(jié)構(gòu),如果表的結(jié)構(gòu)文件損壞,你必須要先恢復(fù)原來(lái)的表的結(jié)構(gòu)。
語(yǔ)法:
SELECT * INTO {OUTFILE | DUMPFILE} ’file_name’ FROM tbl_name
LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE ’file_name.txt’ [REPLACE | IGNORE]
INTO TABLE tbl_name
SELECT ... INTO OUTFILE ’file_name’
1、使用軟件Navicat就可遷移復(fù)制數(shù)據(jù)庫(kù),打開(kāi)Navicat,右鍵點(diǎn)擊左邊空白的地方,點(diǎn)擊New Connection下的MySQL,創(chuàng)建一個(gè)服務(wù)器的連接,下面將演示把本地的數(shù)據(jù)遷移到服務(wù)器:
2、在彈出的創(chuàng)建新連接的窗口里,輸入服務(wù)器的IP,數(shù)據(jù)庫(kù)賬號(hào),密碼等,然后就可以連接數(shù)據(jù)庫(kù)了:
3、創(chuàng)建好后們打開(kāi)本地的數(shù)據(jù)庫(kù),點(diǎn)擊“Data Transfer”(數(shù)據(jù)傳輸),接著彈出新的界面:
4、新窗口中在左邊選擇本地?cái)?shù)據(jù)庫(kù)的庫(kù),和需要轉(zhuǎn)移的表,可以選擇一個(gè),或多個(gè)表:
5、然后在右邊的目標(biāo)里,選擇服務(wù)器的連接,然后選擇服務(wù)器上的數(shù)據(jù)庫(kù):
6、選擇完成后,就開(kāi)始進(jìn)行數(shù)據(jù)轉(zhuǎn)移了,數(shù)據(jù)量不是很大的,很快就會(huì)轉(zhuǎn)移完成的。以上就是mysql中數(shù)據(jù)復(fù)制到另一個(gè)數(shù)據(jù)庫(kù)的方法:
使用這種方法前,我們需要先下載一個(gè)MySQL客戶端工具SqlYog。點(diǎn)擊這里下載并安裝\x0d\x0a\x0d\x0a下面我們開(kāi)始復(fù)制數(shù)據(jù)庫(kù):\x0d\x0a1、打開(kāi)SqlYog community Edition,分別在不同的選項(xiàng)卡中打開(kāi)源數(shù)據(jù)庫(kù)服務(wù)器與目標(biāo)數(shù)據(jù)庫(kù)服務(wù)器,這一點(diǎn)很重。\x0d\x0a\x0d\x0a在源數(shù)據(jù)庫(kù)服務(wù)器選項(xiàng)卡中你將看到所有數(shù)據(jù)庫(kù)列表。\x0d\x0a2、在需要復(fù)制遷移的數(shù)據(jù)庫(kù)上右擊,在彈出菜單中選擇“Copy Database to Different Host/Database”\x0d\x0a3、在彈出對(duì)話框中,我們能看到源數(shù)據(jù)庫(kù)服務(wù)器及目標(biāo)服務(wù)器,在左邊,通過(guò)勾選復(fù)選框來(lái)選擇需要復(fù)制遷移的對(duì)象,如表、函數(shù)、觸發(fā)器等,也可以選擇所有對(duì)象。\x0d\x0a4、在右邊選擇需要遷移的目標(biāo)服務(wù)器或數(shù)據(jù)庫(kù)\x0d\x0a5、根據(jù)你的需要選擇復(fù)制類(lèi)型:“Structure and Data”或“Structure only”,即“結(jié)構(gòu)和數(shù)據(jù)”或“僅結(jié)構(gòu)”。\x0d\x0a6、選擇結(jié)束后點(diǎn)擊“Copy”按鈕開(kāi)始復(fù)制,知道數(shù)據(jù)遷移結(jié)束。
當(dāng)前名稱(chēng):mysql怎么克隆數(shù)據(jù)庫(kù),mysql怎么復(fù)制數(shù)據(jù)庫(kù)數(shù)據(jù)
URL地址:http://aaarwkj.com/article6/dsshcog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、靜態(tài)網(wǎng)站、App設(shè)計(jì)、企業(yè)建站、網(wǎng)站營(yíng)銷(xiāo)、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)