十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
1)全量備份:對數(shù)據(jù)庫完整的備份
我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、港南ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的港南網(wǎng)站制作公司
2)增量備份:從最后一次備份后改變的文件
3)差異備份:在最后一次完整后被修改的文件
建議:全量+增量=1月全量,1周增量
1)物理備份
冷備份:關(guān)閉數(shù)據(jù)后
熱備份:數(shù)據(jù)運行狀態(tài)時
2)邏輯備份
對邏輯對象(表、庫)備份
1)數(shù)據(jù)完整
2)數(shù)據(jù)較龐大
3)時間長,重復(fù)性數(shù)據(jù)
打包、cp、mysqldump
1.準(zhǔn)備數(shù)據(jù)
//新建hehe數(shù)據(jù)庫 mysql> create database hehe;
//向hehe數(shù)據(jù)庫添加a表和格式 mysql>create table hehe.a(user char(4),password char(8),primary key(user));
//插入表內(nèi)數(shù)據(jù) mysql> insert into hehe.a values('Zhangs','123');
//插入表內(nèi)數(shù)據(jù) mysql> insert into hehe.a values('Lisi','123');
//關(guān)閉數(shù)據(jù)庫 /etc/init.d/mysqld stop
//備份數(shù)據(jù)庫 tar -zcvf /root/mysql.bak /usr/local/mysql/data/
mysqldump -u root -p --all-database >/root/mysql.sql //熱備份,數(shù)據(jù)庫不需停止,備份所有數(shù)據(jù)庫
//使用壓縮方式來做數(shù)據(jù)庫熱備份
mysqldump -h localhost -uroot -p --opt --single-transaction 庫名 | gzip > 庫名.sql.gz
//導(dǎo)入數(shù)據(jù)庫
gzip -dc 庫名.sql.gz | mysql -uroot -p 數(shù)據(jù)庫密碼
注:以上熱備份方式三最為安全!
//誤刪除hehe數(shù)據(jù)庫 mysql> drop database hehe;
//關(guān)閉數(shù)據(jù)庫 /etc/init.d/mysqld stop
//tar -zxvf /root/mysql.bak -C /
//進(jìn)入數(shù)據(jù)執(zhí)行命令 mysql> source /root/mysql.sql
//恢復(fù)數(shù)據(jù)mysql -u root -p < /root/mysql.sql
1.Mysql不自帶增量備份方式,需通過Binary logs(記錄所有更改操作)實現(xiàn)增量
1)準(zhǔn)備數(shù)據(jù)(同上準(zhǔn)備數(shù)據(jù))
2)開啟二進(jìn)制日志
//編輯MySQL數(shù)據(jù)庫配置文件 vim /etc/my.cnf
//重啟MySQL服務(wù) /etc/init.d/mysqld restart
/etc/init.d/mysqld stop
//備份數(shù)據(jù)庫 tar -zcvf /root/mysql.bak /usr/local/mysql/data/
mysqldump -u root -p --all-database >/root/mysql.sql //熱備份,數(shù)據(jù)庫不需停止,備份所有數(shù)據(jù)庫
//查看二進(jìn)制文件 ls /usr/local/mysql/data/
//截取二進(jìn)制文件準(zhǔn)備增加數(shù)據(jù) mysqladmin -u root -p flush-logs
//查看二進(jìn)制文件 ls /usr/local/mysql/data/
//登錄數(shù)據(jù)庫添加數(shù)據(jù) mysql> insert into hehe.a values('wang','123');
//生成一個新的二進(jìn)制文件 mysql> flush log;
//退出數(shù)據(jù)庫查看 ls /usr/local/mysql/data/
//拷貝增加的數(shù)據(jù) cp /usr/local/mysql/data/mysql-bin.000032 /root/
//查看/root/目錄 (如以下情況已經(jīng)成功備份新增加數(shù)據(jù))
//登陸數(shù)據(jù)庫誤刪除 mysql> delete hehe.a from haha.a where user='lisi';
//還原刪除的新增數(shù)據(jù)mysqlbinlog mysql-bin.000018 | mysql -u root -p
//查看數(shù)據(jù)庫 select * from hehe.a;
注:增量還原成功
//登錄數(shù)據(jù)庫查看數(shù)據(jù)是否還原 mysql> select * from hehe.a;
注:如果做增量數(shù)據(jù)備份一定在增量前截取二進(jìn)制數(shù)據(jù),在備份完成時應(yīng)再次截取二進(jìn)制數(shù)據(jù),切記一旦數(shù)據(jù)丟失所需要還原的增量數(shù)據(jù)為增量前截取的二進(jìn)制數(shù)據(jù)