MySQL備份與還原

MySQL備份(yum安裝mysql)mysql

1、數據備份sql

1.備份方式數據庫

1)全量備份:對數據庫完整的備份vim

2)增量備份:從最後一次備份後改變的文件spa

3)差別備份:在最後一次完整後被修改的文件3d

建議:全量+增量=1月全量,1周增量rest

 

2.備份分類日誌

1)物理備份對象

冷備份:關閉數據後blog

熱備份:數據運行狀態時

2)邏輯備份

對邏輯對象(表、庫)備份

 

2、完整備份

1.特性

1)數據完整

2)數據較龐大

3)時間長,重複性數據

打包、cp、mysqldump

 

案例:

1.準備數據

//新建hehe數據庫     mysql> create database hehe;

 

//向hehe數據庫添加a表和格式   mysql>create table hehe.a(user char(4),password char(8),primary key(user));

 

//插入表內數據     mysql> insert into hehe.a values('Zhangs','123');

 

//插入表內數據     mysql> insert into hehe.a values('Lisi','123');

 

 

2.備份

方式一:(冷備份)

//關閉數據庫    /etc/init.d/mysqld stop

 

//備份數據庫   tar -zcvf /root/mysql.bak /usr/local/mysql/data/        

 

方式二:(熱備份)

mysqldump -u root -p --all-database >/root/mysql.sql      //熱備份,數據庫不需中止,備份全部數據庫

 

 

3.模擬故障

//誤刪除hehe數據庫   mysql> drop database hehe;

 

4.恢復

方式一:(冷恢復)

//關閉數據庫    /etc/init.d/mysqld stop

 

//tar -zxvf /root/mysql.bak -C /

 

 

方式二:(熱恢復)

//進入數據執行命令    mysql> source /root/mysql.sql

 

方式三:(熱恢復)

//恢復數據mysql -u root -p < /root/mysql.sql

 

 

  

3、增量備份

1.Mysql不自帶增量備份方式,需經過Binary logs(記錄全部更改操做)實現增量

 

案例:

1.準備數據(同上準備數據)

 

2.開啓二進制日誌

//編輯MySQL數據庫配置文件    vim /etc/my.cnf

 

//重啓MySQL服務   /etc/init.d/mysqld restart

 

 

3.完整備份

方式一:(冷備份)

/etc/init.d/mysqld stop

 

//備份數據庫    tar -zcvf /root/mysql.bak /usr/local/mysql/data/       

 

方式二:(熱備份)

mysqldump -u root -p --all-database >/root/mysql.sql      //熱備份,數據庫不需中止,備份全部數據庫

 

 

4.數據增長

//查看二進制文件   ls /usr/local/mysql/data/

 

//截取二進制文件準備增長數據  mysqladmin -u root -p flush-logs

 

//查看二進制文件  ls /usr/local/mysql/data/

 

//登陸數據庫添加數據   mysql> insert into hehe.a values('wang','123');

 

//生成一個新的二進制文件   mysql> flush log;

 

//退出數據庫查看  ls /usr/local/mysql/data/

5.增量備份(須要還原的數據都在mysql-bin.000032這裏)

//拷貝增長的數據  cp /usr/local/mysql/data/mysql-bin.000032 /root/

 

//查看/root/目錄 (如如下狀況已經成功備份新增長數據)

 

6.數據刪除

//登錄數據庫誤刪除 mysql> delete hehe.a from haha.a where user='lisi';

 

 

7.增量還原

//還原刪除的新增數據mysqlbinlog mysql-bin.000018 | mysql -u  root -p

 

//查看數據庫  select * from hehe.a;

 

注:增量還原成功

8.驗證

//登陸數據庫查看數據是否還原  mysql> select * from hehe.a;

 

注:若是作增量數據備份必定在增量前截取二進制數據,在備份完成時應再次截取二進制數據,切記一旦數據丟失所須要還原的增量數據爲增量前截取的二進制數據

相關文章
相關標籤/搜索