打開navicat客戶端,連上mysql后,雙擊左邊你想要備份的數(shù)據(jù)庫(kù)。點(diǎn)擊“計(jì)劃”,再點(diǎn)擊“新建批處理作業(yè)”。
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供張掖企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、H5建站、小程序制作等業(yè)務(wù)。10年已為張掖眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
雙擊上面的可用任務(wù),它就會(huì)到下面的列表里去,代表你選擇了這個(gè)任務(wù)。
點(diǎn)擊保存,彈出個(gè)命名對(duì)話框,給這個(gè)任務(wù)取個(gè)名字,點(diǎn)擊“確定”。
點(diǎn)擊“設(shè)置”計(jì)劃任務(wù)。
彈出的對(duì)話框,選擇“計(jì)劃”,再點(diǎn)擊“新建”。
這里設(shè)置為從2014年1月24號(hào)起每天早上九點(diǎn)備份該數(shù)據(jù)庫(kù)。如果你想提高備份頻率、或者設(shè)置備份截止日期,請(qǐng)點(diǎn)擊“高級(jí)”。
高級(jí)選項(xiàng)可以把備份設(shè)置的更精細(xì),比如這里設(shè)置的是在24小時(shí)內(nèi)每隔2小時(shí)就備份一次。加上前面的基本設(shè)置,任務(wù)計(jì)劃就是:從2014年1月24號(hào)開始,每天九點(diǎn),每隔2小時(shí)備份一次,每天的備份都持續(xù)24小時(shí)。
最后,輸入電腦密碼就大功告成。
用數(shù)據(jù)庫(kù)快照就能實(shí)現(xiàn)啊.
Oracle快照原理及實(shí)現(xiàn)總結(jié)
Oracle數(shù)據(jù)庫(kù)的快照是一個(gè)表,它包含有對(duì)一個(gè)本地或遠(yuǎn)程數(shù)據(jù)庫(kù)上一個(gè)或多個(gè)表或視圖的查詢的結(jié)果。對(duì)于中大型數(shù)據(jù)庫(kù),業(yè)務(wù)數(shù)據(jù)庫(kù)里所有的數(shù)據(jù)同步到另外一個(gè)處理服務(wù)器上最佳的選擇還是使用SnapShot方式,即快照的方式。
由于工作需要,今天需要將業(yè)務(wù)數(shù)據(jù)庫(kù)里所有的數(shù)據(jù)同步到另外一個(gè)處理服務(wù)器上。在做方案的時(shí)候,想了很多方法,當(dāng)然最快的辦法還是使用物理熱備的方式。
但是我個(gè)人認(rèn)為如果對(duì)于中大型數(shù)據(jù)庫(kù)(我們的數(shù)據(jù)庫(kù)有300G左右)最佳的選擇還是使用SnapShot方式,即快照的方式。
Oracle數(shù)據(jù)庫(kù)的快照是一個(gè)表,它包含有對(duì)一個(gè)本地或遠(yuǎn)程數(shù)據(jù)庫(kù)上一個(gè)或多個(gè)表或視圖的查詢的結(jié)果。也就是說(shuō)快照根本的原理就是將本地或遠(yuǎn)程數(shù)據(jù)庫(kù)上的一個(gè)查詢結(jié)果保存在一個(gè)表中。
以下是我建立的Snapshot,目的是從業(yè)務(wù)數(shù)據(jù)庫(kù)上將數(shù)據(jù)Copy到處理數(shù)據(jù)庫(kù)上,是不同的兩個(gè)服務(wù)器之間對(duì)數(shù)據(jù)copy。
第一步:在處理服務(wù)器上的Oracle終端,建立database link,業(yè)務(wù)數(shù)據(jù)庫(kù)服務(wù)器SID為TEST
create database link TEST_DBLINK.US.ORACLE.COM
connect to AMICOS identified by AMICOS
using 'test';
第二步:在業(yè)務(wù)數(shù)據(jù)庫(kù)上對(duì)應(yīng)的表建立快照日志
Create snapshot log on A_Table;
第三步:建立Snapshot 快照名稱為:Test_SnapShot
Create snapshot Test_SnapShot
REFRESH COMPLETE START WITH SYSDATE NEXT SYSDATE+1/24
as select * from A_Table@TEST_DBLINK
說(shuō)明:REFRESH是刷新方法
刷新方式有:COMPLETE和FAST兩種,而START WITH是說(shuō)明開始執(zhí)行的時(shí)間。
Next是下次執(zhí)行的時(shí)間
而AS以后是構(gòu)成快照的查詢方法。
相關(guān)的方法:
更改快照
ALTER SNAPSHOT Test_SnapShot
REFRESH COMPLETE START WITH SYSDATE NEXT SYSDATE+1/2;
手動(dòng)刷新快照 在命令界面執(zhí)行:
EXEC DBMS_SNAPSHOT.REFRESH('Test_SnapShot ','C');
第一個(gè)參數(shù)是要刷新的快照名
第二個(gè)參數(shù)是刷新的方式,F(xiàn)----FAST, C---COMPLETE
查看快照最后刷新的日期
SELECT NAME,LAST_REFRESH
FROM ALL_SNAPSHOT_REFRESH_TIMES;
最后非常的方案:
1:為需要做Snapshot的表建立Snapshot日志
create snapshot log on t1 with rowid; 這里使用ROWID建立日記的參數(shù)
2:采用Fast的方式建立快照,使用rowid做為參考參數(shù)
create snapshot fb_test_b refresh fast with rowid start with sysdate next sysdate+1/1440 as select * from fb_test_b@my_dblink;
最好能按照rowid來(lái)建立快照。要不然就必須要為表建立Primary Key。
備份表結(jié)構(gòu),(主鍵、索引、等) 表數(shù)據(jù);
備份方法2種:1 如果你的開發(fā)環(huán)境是php的, 下一個(gè)phpmyadmin 的mysql web 后臺(tái)管理中心可進(jìn)行備份等諸多操作
2:使用CMD 進(jìn)入 mysql 控制臺(tái), 使用mysqldump命令進(jìn)行備份
前提是把MYSQL的安裝路徑\bin添加到系統(tǒng)環(huán)境變量PATH中了。
備份:mysqldump -u root -p123456 kcgl c:\20090219.sql
mysqldump 備份命令
root 用戶名(root管理員)
123456 密碼
kcgl 備份的數(shù)據(jù)庫(kù)名;
備份符號(hào)
20090219.sql 備份的文件名
還原:
mysql -u root -p123456 kcgl c:\20090219.sql
mysql 還原命令
root 用戶名(root管理員)
123456 密碼
dbcurr 備份的數(shù)據(jù)庫(kù)名;
還原符號(hào)
20090219.sql還原的文件名
注意:首先要確保你的mysql 中有kcgl這個(gè)庫(kù),還原命令是不會(huì)自動(dòng)建庫(kù)的。
mysqldump 遠(yuǎn)程備份
mysqldump -h ip -uroot -proot database c:\data.sql
---------其他---------
mysqldump備份:
mysqldump -u用戶名 -p密碼 -h主機(jī) 數(shù)據(jù)庫(kù) a -w "sql條件" --lock-all-tables 路徑
案例:
mysqldump -uroot -p1234 -hlocalhost db1 a -w "id in (select id from b)" --lock-all-tables c:\aa.txt
mysqldump還原:
mysqldump -u用戶名 -p密碼 -h主機(jī) 數(shù)據(jù)庫(kù) 路徑
案例:
mysql -uroot -p1234 db1 c:\aa.txt
mysqldump按條件導(dǎo)出:
mysqldump -u用戶名 -p密碼 -h主機(jī) 數(shù)據(jù)庫(kù) a --where "條件語(yǔ)句" --no-建表 路徑
mysqldump -uroot -p1234 dbname a --where "tag='88'" --no-create-info c:\a.sql
mysqldump按導(dǎo)入:
mysqldump -u用戶名 -p密碼 -h主機(jī) 數(shù)據(jù)庫(kù) 路徑
案例:
mysql -uroot -p1234 db1 c:\a.txt
mysqldump導(dǎo)出表:
mysqldump -u用戶名 -p密碼 -h主機(jī) 數(shù)據(jù)庫(kù) 表
案例:
mysqldump -uroot -p sqlhk9 a --no-data
-------------------------------------------------
mysqldump命令介紹
--all-databases, -A: 備份所有數(shù)據(jù)庫(kù)
--databases, -B: 用于備份多個(gè)數(shù)據(jù)庫(kù),如果沒(méi)有該選項(xiàng),mysql dump 把第一個(gè)名字參數(shù)作為數(shù)據(jù)庫(kù)名,后面的作為表名。使用該選項(xiàng),mysql dum把每個(gè)名字都當(dāng)作為數(shù)據(jù)庫(kù)名。
--force, -f:即使發(fā)現(xiàn)sql錯(cuò)誤,仍然繼續(xù)備份
--host=host_name, -h host_name:備份主機(jī)名,默認(rèn)為localhost
--no-data, -d:只導(dǎo)出表結(jié)構(gòu)
--password[=password], -p[password]:密碼
--port=port_num, -P port_num:制定TCP/IP連接時(shí)的端口號(hào)
--quick, -q:快速導(dǎo)出
--tables:覆蓋 --databases or -B選項(xiàng),后面所跟參數(shù)被視作表名
--user=user_name, -u user_name:用戶名
--xml, -X:導(dǎo)出為xml文件
1.備份全部數(shù)據(jù)庫(kù)的數(shù)據(jù)和結(jié)構(gòu)
mysql dump -uroot -p123456 -A F:\all.sql
2.備份全部數(shù)據(jù)庫(kù)的結(jié)構(gòu)(加 -d 參數(shù))
mysql dump -uroot -p123456 -A -dF:\all_struct.sql
3.備份全部數(shù)據(jù)庫(kù)的數(shù)據(jù)(加 -t 參數(shù))
mysql dump -uroot -p123456 -A -tF:\all_data.sql
4.備份單個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)和結(jié)構(gòu)(,數(shù)據(jù)庫(kù)名mydb)
mysql dump -uroot -p123456 mydbF:\mydb.sql
5.備份單個(gè)數(shù)據(jù)庫(kù)的結(jié)構(gòu)
mysql dump -uroot -p123456 mydb -dF:\mydb.sql
6.備份單個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)
mysql dump -uroot -p123456 mydb -tF:\mydb.sql
7.備份多個(gè)表的數(shù)據(jù)和結(jié)構(gòu)(數(shù)據(jù),結(jié)構(gòu)的單獨(dú)備份方法與上同)
mysql dump -uroot -p123456 mydb t1 t2 f:\multables.sql
8.一次備份多個(gè)數(shù)據(jù)庫(kù)
mysql dump -uroot -p123456 --databases db1 db2 f:\muldbs.sql
還原部分分(1)mysql 命令行source方法 和 (2)系統(tǒng)命令行方法
1.還原全部數(shù)據(jù)庫(kù):
(1) mysql 命令行:mysql source f:\all.sql
(2) 系統(tǒng)命令行: mysql -uroot -p123456 f:\all.sql
2.還原單個(gè)數(shù)據(jù)庫(kù)(需指定數(shù)據(jù)庫(kù))
(1) mysql use mydb
mysql source f:\mydb.sql
(2) mysql -uroot -p123456 mydb f:\mydb.sql
3.還原單個(gè)數(shù)據(jù)庫(kù)的多個(gè)表(需指定數(shù)據(jù)庫(kù))
(1) mysql use mydb
mysql source f:\multables.sql
(2) mysql -uroot -p123456 mydb f:\multables.sql
4.還原多個(gè)數(shù)據(jù)庫(kù),(一個(gè)備份文件里有多個(gè)數(shù)據(jù)庫(kù)的備份,此時(shí)不需要指定數(shù)據(jù)庫(kù))
(1) mysql 命令行:mysql source f:\muldbs.sql
(2) 系統(tǒng)命令行: mysql -uroot -p123456 f:\muldbs.sql
[b]# 這種是備份表數(shù)據(jù)到文件中,同時(shí)刪除原表數(shù)據(jù)[/b]
mysqldump -u root -p12345 flow record log_$T.sql
# 但是這樣是否中途有數(shù)據(jù)損失不好說(shuō)
mysql -u root -p12345 -e "use flow;truncate table record;"
[b]# 這種是備份到輔助表中[/b]
mysql -u root -p12345 -e "use flow;create table record$T as select * from record
;truncate table record;"
[b]# 理論來(lái)說(shuō)這種最好[/b]
mysql -u root -p12345 -e "use flow; create table log_temp like logs;
rename table logs to log_xxxx, log_temp to logs;"
# 然后再把數(shù)據(jù)導(dǎo)出來(lái)
------------------------------------------------------