Mysql(三)------數(shù)據(jù)遷移備份(針對數(shù)據(jù)量很大的情況)

新跳槽了一家公司,上來就是數(shù)據(jù)庫調優(yōu)和數(shù)據(jù)遷移。調優(yōu)那部分后面再補上來。公司目前用的是5.1的數(shù)據(jù)庫,很老了,而且隨著業(yè)務的發(fā)展需要做讀寫分離和主從復制。想把所有的數(shù)據(jù)都挪到新庫上去。但這個庫大概有60G的數(shù)據(jù)。
主要思路:

創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網(wǎng)站建設、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的鳳縣網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

  1.創(chuàng)建用戶,并授權

2.搭建主從,做到主從同步,數(shù)據(jù)目前先保持一致,在切換主從同步切換ip
MySQL5.1已有數(shù)據(jù)量了,為保證數(shù)據(jù)的一致性。故需要鎖庫,等數(shù)據(jù)導入后再解鎖

3.需要注意從庫和主庫的引擎,字符集
show variables like 'character_set%'; --查看當前環(huán)境的character_set
  show variables like 'collation%'; --查看當前的collation

4.數(shù)據(jù)搬完后做數(shù)據(jù)校驗,校驗一致性
 采用pt-table-checksum  進行校驗用pt-table-sync恢復一致
Zabbix定時監(jiān)控mysql是否一致,如果不一致,調用腳本自動修復

統(tǒng)計了幾種方式:
一·版本相同的數(shù)據(jù)庫


 1.如果版本相同的話,直接停庫,拷貝(cp、tar,gzip,cpio) 把mysql的整個目錄打包發(fā)送到新的主機上。
 這個是最簡單粗暴的,也是最有效,而且數(shù)據(jù)也是很一致的

2。也可以采用percona-xtrabackup 物理備份 + binlog
 借助第三方軟件備份,好處:它能對InnoDB和XtraDB存儲引擎的數(shù)據(jù)庫非阻塞地備份。它不暫停服務創(chuàng)建Innodb熱備份;
為mysql做增量備份;在mysql服務器之間做在線表遷移;使創(chuàng)建replication更加容易;備份mysql而不增加服務器的負載。

3.mysqldump備分
      a.主機A備份成sql文件,在導入到主機B數(shù)據(jù)庫里,這種方式需要長時間鎖表,而且需要大量時間
        mysqldump -uvnum  -pvnum@123  --force data_base_name  >  /data/data_base_name.sql
        或直接傳到對應主機下的sql文件,60個G的話,導出導入時間差不多要五個小時左右,太慢了

        b.tar備份
        備份并壓縮
        mysqldump -uusername -ppassword dbname | gzip > /data/wwwroot/www/dbname.sql.gz
    解壓并還原
        gunzip < /root/dbname.sql.gz | mysql -uusernameb -ppasswordb dbnamenew
        時間相對減少點

        最佳方式介紹
        還有一種直接將數(shù)據(jù)庫A直接轉移到數(shù)據(jù)庫B的方式(在服務器A中執(zhí)行)但要求網(wǎng)速一定要好
        mysqldump --default-character-set=utf8mb4 --host=127.0.0.1 -uusername -ppassword 
        1.必須保證服務器B的數(shù)據(jù)庫能夠服務器A訪問,且B服務器存在對應的庫
        2.--opt命令可選,建議加上。等同于指定 --add-drop-tables--add-locking --create-option --disable-keys--extended-insert --lock-tables --quick --set-charset。它可以給出很快的轉儲操作并產(chǎn)生一個可以很快裝入MySQL服務器的轉儲文件。
        3.--default-character-set=utf8mb4 指定該數(shù)據(jù)庫連接的字符類型。如果服務器默認未utf8的話,導出的數(shù)據(jù)可能會丟失四字節(jié)的unicode信息(表情之類的)
        4.-C 客戶端和服務器之間啟用壓縮傳遞所有信息。當然得要有咯。

mysql通過命令行快速轉移數(shù)據(jù)庫,一個命令(mysqldump)完成數(shù)據(jù)備

當前題目:Mysql(三)------數(shù)據(jù)遷移備份(針對數(shù)據(jù)量很大的情況)
本文鏈接:http://muchs.cn/article44/jpjdee.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、搜索引擎優(yōu)化、外貿網(wǎng)站建設定制開發(fā)、云服務器、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設