標籤:資訊 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備份與恢複