記一次mysql數(shù)據(jù)遷移

需求

因?yàn)樵瓉淼呐f數(shù)據(jù)庫A老舊,需要裁撤。目前計(jì)劃搭建一個新的庫B,首先讓新庫B成為舊庫A的從庫,之后反轉(zhuǎn),裁撤掉舊庫A,讓新庫B成為主庫。

問題

A庫是另外一個庫的從庫,并且A庫中混合著innodb和myisam引擎庫表。目前新庫B打算同步A庫中一部分庫表,另外的庫表放棄。B庫主要從事離線數(shù)據(jù)統(tǒng)計(jì)。

準(zhǔn)備階段

a.下載mysql庫,配置好新庫B。
b. 備份/etc/my.cnf.3306文件為?/etc/my.cnf.3306.bak
c. 修改 /etc/my.cnf.3306 配置文件里的參數(shù)
? ? 1. server_id 是mysql的身份ID(主從配置用到辨別mysql身份的), 修改 server_id 為一個和IP相關(guān)隨機(jī)數(shù)。
? ? 2. log_slave_updates=1;決定是否本slave庫是否要將更新寫入bin-log,如果slave可能成為主庫需要設(shè)置。
? ? 3. innodb_flush_log_at_trx_commit=2;事務(wù)等操作是否實(shí)時(shí)同步到bin-log(容災(zāi)和性能)
? ? 4. sync_binlog =1;二進(jìn)制日志同步到磁盤的頻率(數(shù)據(jù)容災(zāi))

啟動新庫B

cd /usr/local/mysql/bin/;
mysqld_safe --defaults-file=/etc/my.cnf.3306 --user=mysql &

鎖住主庫:
? ? ? ? ?flush tables with read lock;

主庫拉取快照

方案1
方法:邏輯備份,將表鎖住,然后使用tar命令拷貝。
問題:要拷貝的數(shù)據(jù)太多,文件太大。tar命令拷貝之后,出現(xiàn)文件大小不一致,解壓失敗的情況。經(jīng)過嘗試,最終放棄,問題太多了。tar命令打包,新機(jī)器解包失敗,scp拷貝文件,出現(xiàn)文件大小不一致。

方案2
方法:使用mysqldump命令導(dǎo)出數(shù)據(jù)。
一次導(dǎo)出,mysqldump ?--master-data=1 --opt --databases?demo_stat > data.demo.sql。結(jié)果數(shù)據(jù)量太大,磁盤空間不足了!

方案3
方法:使用mysqldump命令導(dǎo)出數(shù)據(jù)。分批導(dǎo)出,分批入到新庫中。
這是最終方案。

從庫導(dǎo)入快照

mysql -uroot < databases.sql
并查看databases.sql中的 CHANGE MASTER語句,確定binlog文件名和pos

在主庫上為從庫創(chuàng)建用戶

grant replication slave, replication client on *.* to replication@'b.b.b.b' identified by '123456';

在從庫上設(shè)置主庫

mysql > change master to master_host='a.a.a.a', master_user='replication', master_password='123456', master_port=3306, master_log_file='mysqlslave-log.013445', master_log_pos=185073000, master_connect_retry=10;
mysql > slave start;

解鎖主庫:

? ? ? 關(guān)閉shell。

后期觀察

挑一個庫表,查看備份數(shù)據(jù)是否完整。

可能遇到問題

1、Last_IO_Error: error connecting to master 'replication
Slave_IO_Running: Connecting

? ? ?原因:用戶密碼錯誤。

2、數(shù)據(jù)量過大,遷移時(shí)間太久,機(jī)器太舊。采用邏輯備份的時(shí)候,由于tar命令版本不一致,舊機(jī)器用的是tar?1.15.1,新機(jī)器用的是 tar?1.26,打出來的包有可能解不了。

3、Last_Error: Error 'Duplicate entry '567828' for key 'PRIMARY'' on query. Default database:...
? ? ? ?原因:是某個庫沒有更新,繼續(xù)鎖表,拷貝到新的機(jī)器上。

結(jié)束!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,182評論 6 543
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,489評論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,290評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,776評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,510評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,866評論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,860評論 3 447
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,036評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,585評論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,331評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,536評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,058評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,754評論 3 349
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,154評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,469評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,273評論 3 399
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,505評論 2 379

推薦閱讀更多精彩內(nèi)容