MySQL備份與恢複

來源:互聯網
上載者:User

標籤:資訊   text   database   壓縮   oca   date   des   圖片   原來   

Database Backup的分類備份方式分很多種,從物理與邏輯的角度,備份分為以下幾類:

(1)物理備份:指對資料庫作業系統的物理檔案(如資料檔案、記錄檔等)的備份。物理備份又可以分為離線備份(冷備份)和聯機各份(熱備份)。

  • 冷備份:在關閉資料庫時進行的備份操作,能夠較好地保證資料庫的完整性。
  • 熱備份:在資料庫運行狀態中進行操作,這種備份方法依賴於資料庫的記錄檔。

(2)邏輯備份:指對資料庫邏輯組件(如表等資料庫物件)的備份。

從資料庫的備份策略角度,備份可分為完全備份、差異備份和增量備份。

(1)完全備份:每次對資料進行完整的備份。可以備份整個資料庫,包含使用者表、系統資料表、索引、視圖和預存程序等所有資料庫物件。但它需要花費更多的時間和空間,所以,做一次完全備份的周期要長些。

(2)差異備份:備份那些自從上次完全備份之後被修改過的檔案,只備份資料庫部分的內容。它比最初的完全備份小,因為只包含自上次完全備份以來所改變的資料庫。它的優點是儲存和恢複速度快。

(3)增量備份:只有那些在上次完全備份或者增量備份後被修改的檔案才會被備份。

mysqldump備份演練

MySQL資料庫的備份可以採用兩種方式,因為資料庫實際上就是檔案,直接打包資料庫檔案夾,或者是使用專門備份工具mysqldump都可以進行備份工作

一、使用tar打包檔案夾備份1、安裝xz壓縮格式工具

MySQL的資料庫檔案預設都是儲存在安裝目錄的data檔案夾下面,可以直接儲存data檔案夾,但是佔用的空間較大,可以使用tar打包壓縮排行儲存。

資料庫檔案很大,可以使用壓縮率較大的xz格式壓縮,首先需要安裝xz壓縮格式工具

yum install xz -y
2、對資料庫檔案夾/usr/local/mysql/data/進行打包操作
tar Jcvf /opt/mysql-$(date +%F).tar.xz /usr/local/mysql/data/      //將/usr/local/mysql/data/目錄下所有內容進行備份到/opt目錄下以帶日期格式命名
3、如果資料庫檔案損壞資料丟失,可以解壓縮備份檔案,相當於做了資料的恢複工作。
tar Jxvf /opt/mysql-2018-07-18.tar.xz /usr/local/mysql/data/
二、使用mysqldump工具備份1、查看/usr/local/mysql/data/目錄下,暫時沒有新的檔案

2、進資料庫,建立school資料庫,建立info資料表,並添加幾條記錄
mysql -u root -p     //以管理員身份進入資料庫create database school;      //建立school資料庫use school;       //進入school資料表create table info (id int(4) primary key,name varchar(10) not null);       //建立info資料表#添加三條記錄insert into info (id,name) values (1,‘jack‘); insert into info (id,name) values (2,‘tom‘);insert into info (id,name) values (3,‘xxy‘);mysql> select * from info;         //查看info表的資訊+----+------+| id | name |+----+------+|  1 | jack ||  2 | tom  ||  3 | xxy  |+----+------+

3、退出資料庫,再到/usr/local/mysql/data/目錄下,可看到有school檔案夾

4、我們可進行如下一系列備份操作
mysqldump -u root -p school > /opt/school.sql     //將schoolDatabase Backup到/opt目錄下命名為school.sql#若有多個資料庫需要備份,則使用如下命令mysqldump -u root -p --databases school01 school02 > /opt/school.sql      //備份school01 school02兩個資料庫#可使用如下命令備份所有資料庫mysqldump -u root -p --opt --all-databases > /opt/all.sql     //備份所有資料庫#還可以對錶結構進行備份mysqldump -u root -p -d school info > /opt/desc-info.sql //備份school資料庫中info表結構mysqldump -u root -p school info > /opt/info.sql //備份school資料庫中的info表

四、恢複

若原本資料庫內資料損毀,想將備份的資料導回,需要建立空資料庫才可導回,或者將原本損壞資料庫刪除,建立同名資料庫導回資料

mysql -u root -p school < /opt/info.sql  //將/opt/info.sql表導回資料庫school中

回到資料庫查看,可看到原來的資料已恢複

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.