當前位置:首頁 » 編程軟體 » 資料庫增量更新腳本

資料庫增量更新腳本

發布時間: 2023-06-28 11:52:45

① 如何實現Mysql資料庫的差異性備份和增量備份

Ø首先,我們需要開啟MySQL伺服器的二進制日誌功能,其實現方法有很多種,最常用的是在MySQL的配置文件的mysqld項中加入log-bin=[filepath]項;也可以使用mysqld –log-bin=[filepath]重新啟動MySQL伺服器。

Ø其次,使用mysqlmp對資料庫進行完全備份,它可以實現對數據據的聯機,非阻塞的熱備份,不會影響其他進程對資料庫的讀寫操作。(參考指令:mysqlmp -uroot --password=123 --single-transaction --flush-logs --master-data=2 --all-databases --delete-master-logs > d:/mysql5.0/full_%date:~0,10%_1500_PM.sql)

Ø第三,使用flush logs指令刷新創建新的二進制日誌。可以通過mysqladmin flush logs或者flush logs語句實現。最方便有效的方法是將它做成批處理文件,然後讓操作系統定期執行。

Ø使用mysql < *.sql進行完全備份的恢復。

Ø使用mysqlbinlog logs-bin.[0-9]* | mysql進行增量備份的恢復。一般的,假設我們周日下午三點進行了完全備份並生成備份文件full_backup_20100415_3_PM.sql,周一周二中午一點進行了兩次增量備份,分別生成增量備份文件inc_backup_1_PM.0007和inc_backup_1_PM.0008,周三上午10:00資料庫發生崩潰,需要進行資料庫恢復,此時正在記錄的二進制日誌為inc_backup_1_PM.0009,我們還需要恢復其中記錄的操作。具體的恢復操作為:

mysql < full_backup_20100415_3_PM.sql

mysqlbinlog inc_backup_1_PM.0007 inc_backup_1_PM.0008 inc_backup_1_PM.0009

u具體應用(結合T8項目)

根據上述分析,我們在T8項目使用MySQL增量備份,也需要三個步驟:

Ø首選修改MySQL啟動配置文件my.cnf,在其中的mysqld項中增加log-bin選項,重新啟動MySQL伺服器以開啟二進制日誌功能,在生成文件/usr/data/mysql/ t8server-bin.index和t8server-bin..000001。如圖所示:

u總結

MySQL提供了很方便的完全+增量備份實現方法,我們只需調用系統內置的方法或者作出一些細微的配置就可以對MySQL資料庫進行備份和恢復。對於MyISAM資料庫和InnoDB資料庫,都可以通過mysqlmp實現資料庫的完全邏輯備份,通過啟動二進制日誌(binary logs),可以記錄一個時間段內對資料庫的所有可能更新的操作,從而通過flush logs創建新的日誌而實現增量備份。

② 看不懂windows下增量備份腳本什麼意思,求解。。

Path是windows程序路徑的全局變數,指程序啟動時如果不指定啟動路徑,則windows會自動從Path設置的路徑中搜索。
WINRAR;%PATH%,就是指不改變原來的Path變數值的前提下,增加WinRAR的搜索路徑。
舉例說:原來path路徑為C:\windows,則執行 set PATH="C:\program files"\WINRAR;%PATH% 後,
PATH路徑變為:C:\program files\winrar;C:\windows。
設置後,你只要在"啟動"-->」運行「中輸入winrar.exe,系統就會自動winrar應用程序了。

③ 幫寫一個 linux 自動增量備份的shell腳本

就是一個shell程序對吧, 需要自動執行對吧?這個就要用到自動化技術了哦, 看下wo 的網名行嗎? 可以解決的哦啊

④ 如何增量導入MYSQL資料庫中的數據

mysql資料庫的導入,有兩種方法:
1)
先導出資料庫sql腳本,再導入;
2)
直接拷貝資料庫目錄和文件。
在不同操作系統或mysql版本情況下,直接拷貝文件的方法可能會有不兼容的情況發生。
所以一般推薦用sql腳本形式導入。下面分別介紹兩種方法。
2.
方法一
sql腳本形式
操作步驟如下:
2.1.
導出sql腳本
在原資料庫伺服器上,可以用phpmyadmin工具,或者mysqlmp命令行,導出sql腳本。
2.1.1
用phpmyadmin工具
導出選項中,選擇導出「結構」和「數據」,不要添加「drop
database」和「drop
table」選項。
選中「另存為文件」選項,如果數據比較多,可以選中「gzipped」選項。
將導出的sql文件保存下來。
2.1.2
用mysqlmp命令行
命令格式
mysqlmp
-u用戶名
-p
資料庫名
>
資料庫名.sql
範例:
mysqlmp
-uroot
-p
abc
>
abc.sql
(導出資料庫abc到abc.sql文件)
提示輸入密碼時,輸入該資料庫用戶名的密碼。
2.2.
創建空的資料庫
通過主控界面/控制面板,創建一個資料庫。假設資料庫名為abc,資料庫全權用戶為abc_f。
2.3.
將sql腳本導入執行
同樣是兩種方法,一種用phpmyadmin(mysql資料庫管理)工具,或者mysql命令行。
2.3.1
用phpmyadmin工具
從控制面板,選擇創建的空資料庫,點「管理」,進入管理工具頁面。
在"sql"菜單中,瀏覽選擇剛才導出的sql文件,點擊「執行」以上載並執行。
注意:phpmyadmin對上載的文件大小有限制,php本身對上載文件大小也有限制,如果原始sql文件
比較大,可以先用gzip對它進行壓縮,對於sql文件這樣的文本文件,可獲得1:5或更高的壓縮率。
gzip使用方法:
#
gzip
xxxxx.sql
得到
xxxxx.sql.gz文件。
提示輸入密碼時,輸入該資料庫用戶名的密碼。
3
直接拷貝
如果資料庫比較大,可以考慮用直接拷貝的方法,但不同版本和操作系統之間可能不兼容,要慎用。
3.1
准備原始文件
用tar打包為一個文件
3.2
創建空資料庫
3.3
解壓
在臨時目錄中解壓,如:
cd
/tmp
tar
zxf
mydb.tar.gz
3.4
拷貝
將解壓後的資料庫文件拷貝到相關目錄
cd
mydb/
cp
*
/var/lib/mysql/mydb/
對於freebsd:
cp
*
/var/db/mysql/mydb/
3.5
許可權設置
將拷貝過去的文件的屬主改為mysql:mysql,許可權改為660
chown
mysql:mysql
/var/lib/mysql/mydb/*
chmod
660
/var/lib/mysql/mydb/*
打字不易,如滿意,望採納。

⑤ 如何讓SQL資料庫進行增量備份

在SQL Server 2000中,假定我們擁有一個資料庫為:Test, 現在需要它每天19:00自動進行一次備份,並且以後一旦發生資料庫錯誤,我們都可以通過備份文件將資料庫恢復到任何一個備份過的時刻點。

備份步驟:
1. 在「SQL Server企業管理器」中注冊資料庫所在的伺服器,注意要使用sa用戶名和口令,否則以後執行備份調度的時候,會出現許可權不足,導致不能進行備份。
2. 確保該伺服器的SQL Server Agent服務是開啟的,因為所有的調度都是通過該代理進行執行的。
3. 在「SQL Server企業管理器」中選中Test資料庫,右鍵打開「備份資料庫」窗口,指定一個新的文件Test-daily.bak,選擇「完全」進行一次完全備份。
4. 再次打開「備份資料庫」窗口,這次使用「差異備份」,「重寫」選項設置為「追加到媒體」,目的文件仍然是前面步驟所指定的Test-daily.bak,並在「調度」選項中設置為每天的19:00,這樣,SQL Server會在每天的19:00將資料庫自上次備份以來發生的變化,以增量備份的方式追加到Test-daily.bak文件中。(測試的時候,可以設置為每天的每1分鍾進行一次備份,以便可以很快的看到備份結果)

在需要進行資料庫恢復的時候,可以按照如下還原步驟進行操作:
1. 新建一個資料庫,比如名為Back, 右鍵打開「還原資料庫」窗口,選擇「從設備」進行還原,然後在「選擇設備…」中選定備份所使用的Test-daily.bak文件,回到「還原資料庫」窗口,「備份號」默認為1(對應的就是備份步驟3中的初次完全備份),不必更改。在「選項」標簽頁中,選中「強制還原」,最關鍵的一步是,在「恢復完成狀態」中,選中第2或第3項,即保證「能還原其它事務日誌」,這樣還原之後,這個新的資料庫就回到了我們進行第一次完全備份時候的狀態,此時,該Back資料庫將處於「正在裝載」或「只讀」的狀態,沒有關系,這是正常的,因為我們接下來還需要通過事務日誌將該資料庫恢復到指定的某個狀態。
2. 再次打開「還原資料庫」窗口,同樣選擇「從設備」進行還原,然後在「選擇設備…」中選定備份所使用的Test-daily.bak文件,回到「還原資料庫」窗口,點擊「備份號」後面的「查看內容…」按鈕,在新的窗口中,可以看到裡面列出了每天19:00左右備份過的備份集(除了最頂上一個是我們初次的完全備份集,其它都是每天的增量備份集),選中想要恢復的某個備份集,單擊「確定」回到主窗口,可以看到「還原備份集」默認選中的是「差異」,再單擊確定,這樣,Back資料庫就恢復到了我們選定的某個備份集了。
上述還原步驟可以重復進行,直到我們找到確切需要的某個備份集。

另外,恢復後的資料庫名稱是Back,如果想將其改名為Test,可以執行
EXEC sp_renamedb 'Back', 'Test'
在重命名資料庫之前,應該確保沒有人使用該資料庫,而且資料庫設置為單用戶模式。

補充:需要在"備份資料庫"->"常規"選項卡里選中"重寫現有媒體",這樣在"選項"選項卡里才能設定"備份集到期時間",並且發現,這樣設定好"到期時間"之後,即使將"重寫現有媒體"改為"追加到媒體",所設定的"到期時間"還是有效的,這可以在調度里的"步驟"腳本中看出來,如:
BACKUP DATABASE [model] TO DISK = N'D:\test.bak' WITH NOINIT , NOUNLOAD , RETAINDAYS = 1, DIFFERENTIAL , NAME = N'model 備份', NOSKIP , STATS = 10, NOFORMAT,通過這種方式應該可以實現保留最近N天的備份,測試中....

⑥ rman備份腳本和rman增量備份腳本分享

一、單獨備份
1、經典整庫備份:backup
as
compressed
backupset
database
include
current
controlfile
plus
archivelog
delete
all
input;
2、tablespace:backup
tablespace
名字;
3、數據文件:backup
datafile
n;
(n:具體的數據文件編號select
file_name,file_id,tablespace_name
from
dba_data_files;)
4、控制文件:backup
current
controlfile;或者backup
database
include
current
controlfile;
5、日誌文件:backup
archivelog
all;或者
database
plus
archivelog;
6、參數文件:backup
spfile;
7、全庫備份腳本:
復制代碼
代碼如下:
run{
allocate
channel
c1
type
disk;
backup
full
tag
『dbfull'
format
『/backup/full%u_%s_%p'
database
include
current
controlfile;
sql
『alter
system
archive
log
current';
#在資料庫進行全備份完成之後,需要執行該條命令將當前日誌歸檔,備份歸檔日誌時應該包括最後生成的歸檔
backup
filesperset
3
format
『/backup/arch%u_%s_%p'#filesperset
3設定每個備份集里文件不超過3個
archivelog
all
delete
input;
#備份歸檔可選,可以單獨定期備份
release
channel
c1;
}
二、增量備份
1、0級增量備份
復制代碼
代碼如下:
run{
allocate
channel
c1
type
disk;
backup
incremental
level
0
tag
『db0'
format
『/backup/db0%u_%s_%p'database
include
current
controlfile;
;
sql
'alter
system
archive
log
current';#在資料庫進行全備份完成之後,需要執行該條命令將當前日誌歸檔,備份歸檔日誌時應該包括最後生成的歸檔
backup
filesperset
3
format
『/backup/arch%u_%s_%p'#filesperset
3設定每個備份集里文件不超過3個
archivelog
all
delete
input;
#備份歸檔可選,可以單獨定期備份
release
channel
c1;
}
2、1級備份腳本
復制代碼
代碼如下:
run{
allocate
channel
c1
type
disk;
backup
incremental
level
1
tag
『db1'
format
『/backup/db1%u_%s_%p'
database
skip
readonly
include
current
controlfile;
backup
filesperset
3
format
『/backup/arch%u_%s_%p'#filesperset設定每個備份集里文件不超過3個
archivelog
all
delete
input;
#備份歸檔可選,可以單獨定期備份
release
channel
c1;
}

⑦ 如何增量導入MYSQL資料庫中的數據

大SQL文件導入資料庫的方法:
1、點擊"開始"-"運行",輸入cmd,然後回車進入到DOS界面。
2、進入MYSQL安裝目錄。
3、假如MYSQL安裝在D盤,SQL文件也在D盤,加入命名為demo.sql,操作的方法是:
輸入"D:",回車即進入到D盤了,然後輸入"cd mysql/bin"並回車
4、再輸入"mysql -u root -p database d:/demo.sql",回車顯示要輸入密碼
5、如果MYSQL資料庫的密碼為空則不輸入任何東西回車,沒有出現錯誤說明導入成功。
注意:上面的database是要導入的資料庫名。

熱點內容
實現秘聞存儲的方法 發布:2025-02-08 10:23:33 瀏覽:168
怎麼在微信發文件夾 發布:2025-02-08 10:09:45 瀏覽:795
cryengine源碼 發布:2025-02-08 09:50:58 瀏覽:394
aardio可以反編譯嗎 發布:2025-02-08 09:50:53 瀏覽:484
公司營業執照密碼是什麼 發布:2025-02-08 09:47:56 瀏覽:855
體驗腳本 發布:2025-02-08 09:46:15 瀏覽:691
醫學生需要什麼配置的筆記本 發布:2025-02-08 09:45:34 瀏覽:772
騷擾電話資料庫 發布:2025-02-08 09:45:34 瀏覽:180
u盤文件加密器 發布:2025-02-08 09:40:35 瀏覽:770
plc數據存儲app 發布:2025-02-08 09:37:17 瀏覽:709