將原機(jī)器上的mysql/data下的你的數(shù)據(jù)庫目錄整個(gè)拷貝下來。
創(chuàng)新互聯(lián)主要從事網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)寧洱,10余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108
將新機(jī)器上的mysql服務(wù)停止。
找到新機(jī)器上的mysql/data目錄,將你拷貝的目錄粘貼進(jìn)去,然后啟動(dòng)mysql服務(wù)就可以了。
有兩種辦法。 1、在B機(jī)器上裝mysql。 將A機(jī)器上的mysql/data下的你的數(shù)據(jù)庫目錄整個(gè)拷貝下來。 將B機(jī)器上的mysql服務(wù)停止。 找到B機(jī)器上的mysql/data目錄,將你拷貝的目錄粘貼進(jìn)去,然后啟動(dòng)mysql服務(wù)就可以了。 2、使用SQL語句備份和恢復(fù) 你可以使用SELECT INTO OUTFILE語句備份數(shù)據(jù),并用LOAD DATA INFILE語句恢復(fù)數(shù)據(jù)。這種方法只能導(dǎo)出數(shù)據(jù)的內(nèi)容,不包括表的結(jié)構(gòu),如果表的結(jié)構(gòu)文件損壞,你必須要先恢復(fù)原來的表的結(jié)構(gòu)。 語法: 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’ 在dos命令提示符下使用mysqldump命令進(jìn)行備份. 如下: C:\Documents and Settings\Administratormysqldump yinshi c:\\backup.txt -uroot -p12142022
為了保障數(shù)據(jù)的安全與穩(wěn)定性,我們常用數(shù)據(jù)庫的主從復(fù)制與主主復(fù)制來實(shí)現(xiàn)。主從復(fù)制為從機(jī)實(shí)時(shí)拷貝一份主機(jī)的數(shù)據(jù),當(dāng)主機(jī)有數(shù)據(jù)變化時(shí),從機(jī)的數(shù)據(jù)會(huì)跟著變,當(dāng)從機(jī)數(shù)據(jù)有變化時(shí),主機(jī)數(shù)據(jù)不變;同樣地,主主復(fù)制就是,多個(gè)主機(jī)之間,只要有一個(gè)主機(jī)的數(shù)據(jù)變化了,其它主機(jī)數(shù)據(jù)也會(huì)跟著變化。
添加以下內(nèi)容
如果你是使用我之前那種方式啟動(dòng)的MySQL,那么你只需要去你相關(guān)聯(lián)的宿主機(jī)的配置文件夾里面去建立一個(gè) my.cnf 然后寫入上面的類容就好了。
比如:我的啟動(dòng)命令如下(不應(yīng)該換行的,這里為了方便查看,我給它分行了)
那么我只需要在 /docker/mysql_master/conf 這個(gè)目錄下創(chuàng)建 my.cnf 文件就好了。
這個(gè)命令是需要在容器里面執(zhí)行的
docker重啟mysql會(huì)關(guān)閉容器,我們需要重啟容器。
確保在主服務(wù)器上 skip_networking 選項(xiàng)處于 OFF 關(guān)閉狀態(tài), 這是默認(rèn)值。 如果是啟用的,則從站無法與主站通信,并且復(fù)制失敗。
我的命令如下
在從服務(wù)器配置連接到主服務(wù)器的相關(guān)信息 (在容器里面的mysql執(zhí)行)
上面代碼的xxxxx你需要換成你的IP,docker 查看容器 IP 的命令如下:
啟動(dòng)的那個(gè)從服務(wù)器的線程
測(cè)試的話,你可以在主服務(wù)器里面,創(chuàng)建一個(gè)數(shù)據(jù)庫,發(fā)現(xiàn)從服務(wù)器里面也有了,就成功了。
如果你還想要一個(gè)從服務(wù)器,那么你只需要按照上面配置從服務(wù)器再配置一個(gè)就行了,新建的從服務(wù)器,會(huì)自動(dòng)保存主服務(wù)器之前的數(shù)據(jù)。(測(cè)試結(jié)果) 如果你上面的主從復(fù)制搞定了,那么這個(gè)主主復(fù)制就很簡(jiǎn)單了。我們把上面的從服務(wù)器也改成主服務(wù)器
1)、修改上面的從服務(wù)器的my.cnf文件,和主服務(wù)器的一樣(注意這個(gè)server-id不能一樣)然后重啟服務(wù)器 2)、在從服務(wù)器里面創(chuàng)建一個(gè)復(fù)制用戶創(chuàng)建命令一樣(這里修改一下用戶名可以改為 repl2) 3)、在之前的主服務(wù)器里面運(yùn)行下面這個(gè)代碼
上面主要是教你怎么搭建一個(gè)MySQL集群,但是這里面還有很多其它的問題。也是我在學(xué)習(xí)過程中思考的問題,可能有的小伙伴上來看到文章長(zhǎng)篇大論的看不下去,只想去實(shí)現(xiàn)這樣一直集群功能,所以我就把問題寫在下面了。
1)、MySQL的replication和pxc MySQL的集群方案有replication和pxc兩種,上面是基于replication實(shí)現(xiàn)的。
replication: 異步復(fù)制,速度快,無法保證數(shù)據(jù)的一致性。 pxc: 同步復(fù)制,速度慢,多個(gè)集群之間是事務(wù)提交的數(shù)據(jù)一致性強(qiáng)。
2)、MySQL的replication數(shù)據(jù)同步的原理 我們?cè)谂渲玫臅r(shí)候開啟了它的二進(jìn)制日志,每次操作數(shù)據(jù)庫的時(shí)候都會(huì)更新到這個(gè)日志里面去。主從通過同步這個(gè)日志來保證數(shù)據(jù)的一致性。
3)、可否不同步全部的數(shù)據(jù) 可以配置,同步哪些數(shù)據(jù)庫,甚至是哪些表。
4)、怎么關(guān)閉和開始同步
5)、我就我的理解畫出了,主從、主從從、主主、復(fù)制的圖。
往期推薦:
利用Docker僅花1分鐘時(shí)間安裝好MySQL服務(wù)
Linux下MySQL 5.7的離線與在線安裝(圖文)
Linux下安裝MySQL8.0(收藏?。?/p>
這就要看什么數(shù)據(jù)庫了,如果是mysql 直接下載 mysql/data/數(shù)據(jù)庫名 里面的所有文件 .myi .myd 等文件。然后放到本地電腦上的mysql數(shù)據(jù)庫的相應(yīng)位置,然后重啟mysql就行。具體還是看什么數(shù)據(jù)庫