RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [DB] [經驗分享]MySQL資料快速轉移到另一台主機 - Linux下適用   字型大小:||| 
  本主題被作者加入到他/她的 Blog 中  
Vic
開墾隊隊長.苦力
等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32
老得不能再稱小的熊

十週年紀念徽章(五級)   終生苦力熊勳章  

今日心情

 . 積分: 9409
 . 精華: 28
 . 文章: 9949
 . 收花: 79214 支
 . 送花: 10986 支
 . 比例: 0.14
 . 在線: 2902 小時
 . 瀏覽: 187021 頁
 . 註冊: 8019
 . 失蹤: 27
 . 大熊國
#1 : 2013-3-4 04:10 PM     全部回覆 引言回覆

這方法不需要temp file,可以同時dump,zip,send&import,

問題是不支持resume,如果中途斷線…就需要重來。

@Receiver (先執行這裡,Receiver的nc必須先啟動)

nc -l {port} -v | gzip -d -c | mysql {db} -u{user} -p
@Sender

mysqldump {db} -u{user} -p | gzip | nc {ip of Receiver} {port}
FAQ:

1. nc (netcat) 安裝

yum install nc
2. 查看進度 (估計值)

a)傳送前先到Sender執行下面的sql...並記下要傳的db size是多少。

b)傳送中…在Receiver執行下面的sql...用來查看已import的資料有多大

查看db size SQL:

SELECT table_schema "Data Base Name", sum( data_length + index_length ) / 1024 / 1024
"Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema ;
另外,如果你的db是MyISAM你也可以用(如果是innoDB, 則需要開啟innodb_file_per_table)

du -h /var/lib/mysql/{db}
來查看Sender & Receiver現在的data size而估計進度


相關關鍵字: mysql  備份  mysqldump  linux  






[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Vic
開墾隊隊長.苦力
等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32
老得不能再稱小的熊

十週年紀念徽章(五級)   終生苦力熊勳章  

今日心情

 . 積分: 9409
 . 精華: 28
 . 文章: 9949
 . 收花: 79214 支
 . 送花: 10986 支
 . 比例: 0.14
 . 在線: 2902 小時
 . 瀏覽: 187021 頁
 . 註冊: 8019
 . 失蹤: 27
 . 大熊國
#2 : 2013-3-4 11:32 PM     全部回覆 引言回覆

如果資料庫很大…而且網絡慢/不穩…上面的方法可能不適用。

建議

1)直接tar整個/var/lib/mysql/{db} 或者 mysqldump整個db…

2)用rsync(支持resume)來傳出去

rsync -P --rsh=ssh {user}@{host}:{remote_file} {local_file}
-P: same as "--partial --progress"

3)之後再untar 或者 mysql {db} -u{user} -p < dump.sql


相關關鍵字: rsync  tar  






[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Vic
開墾隊隊長.苦力
等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32
老得不能再稱小的熊

十週年紀念徽章(五級)   終生苦力熊勳章  

今日心情

 . 積分: 9409
 . 精華: 28
 . 文章: 9949
 . 收花: 79214 支
 . 送花: 10986 支
 . 比例: 0.14
 . 在線: 2902 小時
 . 瀏覽: 187021 頁
 . 註冊: 8019
 . 失蹤: 27
 . 大熊國
#3 : 2013-3-5 08:49 AM     全部回覆 引言回覆

熊上面提到的2種方面都是做一次性轉移…之後的資料並不會自動同步。

如innova兄所言

如果需要2(n)台主機同步…可以用master-slave(master可讀寫,slave只可讀)replication…

參考文章:
http://blog.longwin.com.tw/2008/ ... ter_slave_set_2008/


引用:
innova寫到:
只有 Master資料會往 slave丟, slave的東西丟不回來


如果想2台都可以同時讀寫…就需要所謂master-master replication(mysql官方並不支援…是人們弄出來的)

參考文章:
http://blog.longwin.com.tw/2008/ ... ger-mmm-intro-2008/
http://blog.wu-boy.com/2008/12/m ... %E5%90%8C%E6%AD%A5/



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記
Vic
開墾隊隊長.苦力
等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32等級: 32
老得不能再稱小的熊

十週年紀念徽章(五級)   終生苦力熊勳章  

今日心情

 . 積分: 9409
 . 精華: 28
 . 文章: 9949
 . 收花: 79214 支
 . 送花: 10986 支
 . 比例: 0.14
 . 在線: 2902 小時
 . 瀏覽: 187021 頁
 . 註冊: 8019
 . 失蹤: 27
 . 大熊國
#4 : 2013-3-6 05:54 AM     全部回覆 引言回覆

Master-master的原理好像就是這樣…熊沒有真的做過…所以也不是很清楚。


[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  訪問主頁  發私人訊息  Blog  快速回覆 新增/修改 爬文標記

   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2024-5-5 04:15 AM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 0.023070 second(s), 7 queries , Qzip disabled