【MySQL】MySQL數(shù)據(jù)庫(kù)遷移并同步(簡(jiǎn)單粗暴版)

這篇文章主要描述在主從的情況下,將Master(舊),Slave(舊)兩個(gè)數(shù)據(jù)庫(kù)轉(zhuǎn)移到Master(新),Slave(新)的方法。
關(guān)于MySQL數(shù)據(jù)庫(kù)(數(shù)據(jù))的常用的遷移方法筆者知道兩種:
一、是使用lock table將主庫(kù)的表鎖起來,記錄binlog的位置,然后使用mysqldump將數(shù)據(jù)導(dǎo)出成文件,然后在新數(shù)據(jù)庫(kù)中導(dǎo)入這個(gè)文件,再把主從同步的位置調(diào)整到之前記錄的binlog的位置。
二、是直接將舊服務(wù)器上的數(shù)據(jù)庫(kù)的文件復(fù)制到新服務(wù)器上,然后使用Navicat將數(shù)據(jù)同步到從庫(kù)中,也就是今天需要講的這種方法。
對(duì)比兩種方法,第一種方法比較安全,但需要鎖表,很多時(shí)候,項(xiàng)目已經(jīng)上線在運(yùn)行的時(shí)候很難有可以鎖表的機(jī)會(huì)。而第二種方法比較簡(jiǎn)單粗暴,同時(shí)也比較迅速,但就是不太安全。

在遷移數(shù)據(jù)之前,首先要做的是對(duì)比兩個(gè)服務(wù)器上的數(shù)據(jù)庫(kù)的版本是否一致(主要是大版本),如果兩個(gè)版本不一致,數(shù)據(jù)遷移的過程中和遷移完的結(jié)果都很容易出現(xiàn)一些不可預(yù)知的問題(這個(gè)即使使用鎖表的方法也一樣)。

為了說明方便,這里臨時(shí)使用幾個(gè)參數(shù):
操作系統(tǒng):CentOS 6.9
舊服務(wù)器:192.168.189.129
新服務(wù)器:192.168.189.131
數(shù)據(jù)庫(kù):5.6.19

然后需要記住的是數(shù)據(jù)庫(kù)配置文件my.cnf里面的一些變量:
log_bin:binlog開啟狀態(tài)
server-id:
datadir:數(shù)據(jù)文件路徑
socket:socke路徑
log-error:錯(cuò)誤日志文件路徑
pid-file:線程文件路徑
tmpdir:
還有一些配置主從同步的時(shí)候配置的需要同步或者需要忽略同步的參數(shù)(按個(gè)人需求)
binlog-ignore-db
binlog-do-db

之后找到129(舊)服務(wù)器上mysql數(shù)據(jù)文件的存放位置,一般都在/var/lib/mysql
然后將里面的所有文件使用rsync命令復(fù)制到131(新)服務(wù)器上,注意,要用rsync,如果直接使用CP的話,文件傳送到新服務(wù)器上之后,文件的所屬和權(quán)限都會(huì)被改,還有一個(gè)要注意的是,建議將文件直接傳送到新服務(wù)器的目標(biāo)位置,例如:舊服務(wù)器上的數(shù)據(jù)庫(kù)文件路徑為:/var/lib/mysql 新的服務(wù)器上的mysql文件路徑也是。那么,指令就該為:

#后面的路徑是目標(biāo)路徑
rsync -avz /var/lib/mysql 192.168.189.131:/var/lib/mysql
發(fā)送mysql文件.png

如上圖,如果像這樣先將文件傳送到目標(biāo)服務(wù)器的一個(gè)臨時(shí)文件夾,然后再將這些文件轉(zhuǎn)移到最終路徑的話會(huì)很容易出現(xiàn)文件損壞或者文件權(quán)限被改變得問題。

在傳送到目標(biāo)文件之后,需要改變配置文件,要將這個(gè)配置文件的變量的值改為剛剛記住的那個(gè)配置文件的變量的值。
修改完之后就可以使用

service mysqld start

來開啟數(shù)據(jù)庫(kù)服務(wù)器,之后就是登錄之類的操作了。如果登錄成功和查詢數(shù)據(jù)沒問題的話說明數(shù)據(jù)已經(jīng)成功遷移過來了。
之后要做的就是做主從數(shù)據(jù)的同步。
這里使用的是Navicat,在Navicat里面有這個(gè)功能

image.png

源的話選擇新的數(shù)據(jù)庫(kù)(Master)就好了,目標(biāo)就是就是新的Slave了,在做同步之前,最好先使用預(yù)覽功能看看會(huì)有什么錯(cuò)誤之類的,然后選擇需要同步的內(nèi)容,然后選擇開始就行了


在做完數(shù)據(jù)同步之后,就可以配置主從了,關(guān)于主從的配置可以參考這里:http://www.itdecent.cn/p/eed0ca8ba299

需要注意的是:

1、傳送數(shù)據(jù)要用rsync
2、傳送的數(shù)據(jù)最好一步到位,不要為多步執(zhí)行,即中間不要有“中轉(zhuǎn)站”

其實(shí)發(fā)現(xiàn),也可以不用這么麻煩,直接使用Navicat的數(shù)據(jù)傳輸,然后數(shù)據(jù)同步,接著再做主從就好了,這個(gè)也列作第三個(gè)方法吧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 《老男孩Linux運(yùn)維》筆記MySQL-Documentation 概述 MySQL介紹 MySQL屬于傳統(tǒng)關(guān)系型...
    Zhang21閱讀 1,082評(píng)論 0 9
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,540評(píng)論 19 139
  • 內(nèi)容修改經(jīng)過前面幾章到現(xiàn)在,我們已經(jīng)可以熟練的修改文件,并提交到Git版本庫(kù),我們繼續(xù)修改myTeam.txt文件...
    babybus_superdo閱讀 286評(píng)論 0 0
  • 噴榴蓮香水的女人 1 女人一說到男人,不由自主的要加上一個(gè)臭字。 臭男人,有時(shí)候聽起來像是女人對(duì)男人的一種愛稱一種...
    生達(dá)成長(zhǎng)規(guī)劃閱讀 373評(píng)論 0 1
  • 起早清香飲, 端來玉茗馨。 細(xì)看君未至, 欲問是何人? 接輿蓬萊客, 迎來座上賓。 平生無所好, 最慕鐵觀音。
    平山冷燕_725a閱讀 903評(píng)論 2 15

友情鏈接更多精彩內(nèi)容