mysql分庫分表備份

來源:互聯網
上載者:User

標籤:mysql分庫分表備份

一、單獨備份資料庫

mysqldump -uroot -poldboy oldboy >/opt/oldboy.sql         最簡單的備份        

1)  mysql基於myisam引擎

mysqldump -uroot -poldboy  -B -x  -F oldboy | gzip >/opt/oldboy.sql.gz

2)  5.5以後預設是innodb(推薦)

mysqldump -uroot -poldboy  -B  -F --single-transactio oldboy | gzip >/opt/oldboy.sql.gz

二、多執行個體分庫備份資料庫(用於寫shell指令碼)

主要思想就是把庫列出來,一個for迴圈備份

mysql  -uroot  -poldboy  -e"show databases;" | egrep -Evi  "info|perfor" |sed -r ‘s#^([a-z].*$)#mysqldump -uroot -poldboy -B  \1 |gzip >/opt/1.sql.gz #g‘ |bash

/bin/bashBAKPATH=/opt/mysqlMYUSER=rootMYPASSWD=123456SOCKET=/data/3308/mysql.sockMYCMD="mysql -u$MYUSER -p$MYPASSWD -S $SOCKET"MYSQLDUMP=mysqldump -u$MYUSER -P$MYPASSWD -S $SOCKET -B -x -F -R[ ! -d $BAKPATH ] && mkdir -p $BAKPATHDBLIST=`$MYCMD -e "show databases; | sed 1d" |egrep -Evi "mysql|info" `for dbname in DBLISTDO        $MYSQLDUMP  $dbname |gzip > /$BAKPATH/${dbname}_$(date +%F).sql.gzDONE


提示:-B是連建立庫和查詢庫的語句都備份了,所以建議加上(一般備份多個庫的時候用),-x所有資料庫中的所有表加鎖


備份表

 mysqldump -uroot -poldboy 庫名 表名 >/opt/table.sql

三、多執行個體分表備份

主要思想就是把表列出來,兩層for迴圈備份

/bin/bashBAKPATH=/opt/mysqlMYUSER=rootMYPASSWD=123456SOCKET=/data/3308/mysql.sockMYCMD="mysql -u$MYUSER -p$MYPASSWD -S $SOCKET"MYSQLDUMP=mysqldump -u$MYUSER -P$MYPASSWD -S $SOCKET  -x -F -R[ ! -d $BAKPATH ] && mkdir -p $BAKPATHDBLIST=`$MYCMD -e "show databases; | sed 1d" |egrep -Evi "mysql|info" `for dbname in DBLISTdo        TLIST=`$MYCMD -e "show tables from $dbname;" | sed 1d`        for tname in $TLIST        do                mkdir -p $BAKPATH/$dbname                $MYSQLDUMP $dbname $tname |gzip >/$BAKPATH/$dbname/${tname}_$(date +%F).sql.gz        done        $MYSQLDUMP  $dbname |gzip > /$BAKPATH/${dbname}_$()$(date +%F).sql.gzdone

註:(純手打,有問題請指出)

如果資料庫不大建議兩個都備份,有時候只要求恢複一個表

-d參數只備份表結構

-t參數只備份資料

-F重新整理binlog日誌

其他參數 mysqldump --help查詢

大量復原庫大概過程

for dbname in `ls *.sql`;do mysql -uroot -p123456 < $dbname.sql;done

四、增量備份

mysqlbinlog  /data/3306/data/mysql-bin.0001 >>/tmp/all.sql

具體內容:http://blog.51yip.com/mysql/1042.html

 http://blog.csdn.net/jesseyoung/article/details/41211841

本文出自 “linux營運” 部落格,轉載請與作者聯絡!

mysql分庫分表備份

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.