您好,登錄后才能下訂單哦!
1)全量備份:對數據庫完整的備份
2)增量備份:從最后一次備份后改變的文件
3)差異備份:在最后一次完整后被修改的文件
建議:全量+增量=1月全量,1周增量
1)物理備份
冷備份:關閉數據后
熱備份:數據運行狀態時
2)邏輯備份
對邏輯對象(表、庫)備份
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');
//關閉數據庫 /etc/init.d/mysqld stop
//備份數據庫 tar -zcvf /root/mysql.bak /usr/local/mysql/data/
mysqldump -u root -p --all-database >/root/mysql.sql //熱備份,數據庫不需停止,備份所有數據庫
//使用壓縮方式來做數據庫熱備份
mysqldump -h localhost -uroot -p --opt --single-transaction 庫名 | gzip > 庫名.sql.gz
//導入數據庫
gzip -dc 庫名.sql.gz | mysql -uroot -p 數據庫密碼
注:以上熱備份方式三最為安全!
//誤刪除hehe數據庫 mysql> drop database hehe;
//關閉數據庫 /etc/init.d/mysqld stop
//tar -zxvf /root/mysql.bak -C /
//進入數據執行命令 mysql> source /root/mysql.sql
//恢復數據mysql -u root -p < /root/mysql.sql
1.Mysql不自帶增量備份方式,需通過Binary logs(記錄所有更改操作)實現增量
1)準備數據(同上準備數據)
2)開啟二進制日志
//編輯MySQL數據庫配置文件 vim /etc/my.cnf
//重啟MySQL服務 /etc/init.d/mysqld restart
/etc/init.d/mysqld stop
//備份數據庫 tar -zcvf /root/mysql.bak /usr/local/mysql/data/
mysqldump -u root -p --all-database >/root/mysql.sql //熱備份,數據庫不需停止,備份所有數據庫
//查看二進制文件 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/
//拷貝增加的數據 cp /usr/local/mysql/data/mysql-bin.000032 /root/
//查看/root/目錄 (如以下情況已經成功備份新增加數據)
//登陸數據庫誤刪除 mysql> delete hehe.a from haha.a where user='lisi';
//還原刪除的新增數據mysqlbinlog mysql-bin.000018 | mysql -u root -p
//查看數據庫 select * from hehe.a;
注:增量還原成功
//登錄數據庫查看數據是否還原 mysql> select * from hehe.a;
注:如果做增量數據備份一定在增量前截取二進制數據,在備份完成時應再次截取二進制數據,切記一旦數據丟失所需要還原的增量數據為增量前截取的二進制數據
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。