下面一起來了解下應(yīng)該如何備份及還原mysql數(shù)據(jù),相信大家看完肯定會受益匪淺,文字在精不在多,希望應(yīng)該如何備份及還原mysql數(shù)據(jù)這篇短內(nèi)容是你想要的。
創(chuàng)新互聯(lián)建站2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都做網(wǎng)站、網(wǎng)站設(shè)計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元宜都做網(wǎng)站,已為上家服務(wù),為宜都各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108備份的不同分類:
熱備份、溫備份和冷備份
熱備份:讀、寫不受影響;
溫備份:僅可以執(zhí)行讀操作;
冷備份:離線備份;讀、寫操作均中止;
物理備份和邏輯備份
物理備份:復制數(shù)據(jù)文件;原始數(shù)據(jù)在操作系統(tǒng)上呈什么樣,備份出來也是什么樣,適用
于比較大型、重要、出現(xiàn)故障時要快速恢復的場景
邏輯備份:備份sql語句,恢復的時候執(zhí)行一遍備份的sql語句,較為靈活,但恢復速度較
慢,適用于小型、便于在其他云服務(wù)器上進行恢復的場景
完全備份、增量備份和差異備份;
完全備份:備份全部數(shù)據(jù);
增量備份:僅備份上次完全備份或增量備份以后變化的數(shù)據(jù);
差異備份:僅備份上次完全備份以來變化的數(shù)據(jù);
備份工具:
1、通過復制對象相關(guān)文件的方式創(chuàng)建備份
一般適用于myisam引擎表,只要將.frm、.MYD、.MYI這些文件復制保存就相當于進行了備份
步驟:
mysql>FLUSH TABLES tb_name WITH READ LOCK #備份前對表進行只讀鎖定 [root@localhost /]cp /the/path/to/data /the/path/to/backup mysql>UNLOCK TABLES #釋放鎖
這種備份方法不適用于Innodb表,當innodb_file_per_table設(shè)置為1時,復制表對象的相關(guān)文件.ibd不能達到備份的目的,因為表結(jié)構(gòu)、所屬數(shù)據(jù)庫等信息仍存在于Innodb的系統(tǒng)表空間中。
2、使用sql語句進行備份
mysql>SELECT * INTO OUTFILE '/path/to/somefile.txt' FROM tb_name [WHERE clause];
3、使用mysqldump進行邏輯備份
備份單個數(shù)據(jù)庫/表
mysqldump -uUSERNAME -p PASSWORD db_name [tb_name]> /path/to/backup/db_name.sql
備份多個數(shù)據(jù)庫
mysqldump -uUSERNAME -p PASSWORD --databases db1 db2 > /path/to/backup/db1_db2.sql
使用--tab輸出txt文件和sql文件,將數(shù)據(jù)和建表語句分開
mysqldump -uUSERNAME -p PASSWORD --tab=/path/to/backup db_name [tb_name] #將數(shù)據(jù)庫的全部對象或特定的表導出到backup目錄下
例1:備份數(shù)據(jù)庫jiaowu下的tutors表
查看/tmp/test2目錄
例2:備份整個數(shù)據(jù)庫
然后查看/tmp/test目錄
可以發(fā)現(xiàn),數(shù)據(jù)庫中的每張表都生成兩個同名文件,.txt存儲表中的實際數(shù)據(jù),.sql存儲的是sql語句(建表語句)
查看一下tutors.txt這個文件
可以看到,每條記錄輸出到一行上,列值之間用tab符隔開,如果希望自己能自定義輸出的格式,可以使用下面的選項
--fields-terminated-by=',' | 列值之間用逗號隔開 |
--fields-enclosed-by='"' | 列值使用雙引號引起來 |
--lines-terminated-by=‘\' | 指定\為行結(jié)束符,默認為換行符 |
可以看到,導出的tutors.txt列值之間以逗號分開,并使用雙引號引住,這樣可以方便以后數(shù)據(jù)導入回數(shù)據(jù)庫中
注意要點:
當mysqldump沒有使用--tab時,其導出的sql文件中既有操作語句又有建表語句;當使用--tab時,其中txt文件保存數(shù)據(jù),sql文件僅有建表語句。
數(shù)據(jù)庫的還原
1、mysqldump沒使用--tab選項
mysql>use db_name mysql>source /path/to/backup/tb.sql #這樣即可導入
2、mysqldump使用--tab選項
1、使用.sql文件將表創(chuàng)建好
mysql -uUSERNAME -p PASSWORD db_name < /path/to/backup/tb.sql
2、在數(shù)據(jù)庫中通過LOAD DATA INFILE語句來導入.txt文件到表中
mysql>LOAD DATA INFILE '/path/to/tb.txt' INTO TABLE tb_name [參數(shù)]
創(chuàng)建冷備份
1、查看正在使用的二進制日志
mysql>show master status;
2、進行二進制日志滾動
mysql>flush logs
3、關(guān)閉mysql,備份數(shù)據(jù)目錄,開啟mysql即可
創(chuàng)建增量備份
1、進行二進制日志滾動
2、使用mysqlbinlog進行備份
mysqlbinlog /path/to/binlog/mysql-bin.0000xx > /path/to/backup/0000xx.sql
(恢復時可以直接source或mysql命令(上面還原時有講到))
說白了增量備份就是使用mysqlbinlog將上次備份后新生成的二進制日志備份到指定目錄
看完應(yīng)該如何備份及還原mysql數(shù)據(jù)這篇文章后,很多讀者朋友肯定會想要了解更多的相關(guān)內(nèi)容,如需獲取更多的行業(yè)信息,可以關(guān)注我們的行業(yè)資訊欄目。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。