導航:首頁 > 程序命令 > 命令行備份表

命令行備份表

發布時間:2022-08-02 21:25:20

① 如何備份注冊表

作為Windows的核心組件,一旦注冊表受損很容易導致系統崩潰。在Windows 10 1803版本之前,系統默認會對注冊表進行自動備份,但是之後的新版本卻默認關閉了這個功能。那麼新版本系統如何才能恢復對注冊表的自動備份呢?
主要有2個方法。
一是通過修改注冊表
二是單個導出
修改注冊表
對於1803之後版本的Windows 10系統,我們可以通過修改注冊表的方法重新開啟注冊表自動備份功能。
首先,打開注冊表編輯器,直接在搜索框搜注冊表就可以。

② 如果用ghost的命令行方式進行備份

Ghost 使用詳解

一、分區備份

使用Ghost進行系統備份,有整個硬碟(Disk)和分區硬碟(Partition)兩種方式。在菜單中點擊 Local(本地)項,在右面彈出的菜單中有3個子項,其中 Disk表示備份整個硬碟(即克隆)、Partition 表示備份硬碟的單個分區、Check 表示檢查硬碟或備份的文件,查看是否可能因分區、硬碟被破壞等造成備份或還原失敗。分區備份作為個人用戶來保存系統數據,特別是在恢復和復制系統分區時具有實用價值。
選 Local→Partition→To Image 菜單,彈出硬碟選擇窗口,開始分區備份操作。點擊該窗口中白色的硬碟信息條,選擇硬碟,進入窗口,選擇要操作的分區(若沒有滑鼠,可用鍵盤進行操作:TAB鍵進行切換,回車鍵進行確認,方向鍵進行選擇)。 在彈出的窗口中選擇備份儲存的目錄路徑並輸入備份文件名稱,注意備份文件的名稱帶有 GHO 的後綴名。 接下來,程序會詢問是否壓縮備份數據,並給出3個選擇:No 表示不壓縮,Fast表示壓縮比例小而執行備份速度較快,High 就是壓縮比例高但執行備份速度相當慢。最後選擇 Yes 按鈕即開始進行分區硬碟的備份。Ghost 備份的速度相當快,不用久等就可以完成,備份的文件以 GHO 後綴名儲存在設定的目錄中。

二、硬碟克隆與備份

硬碟的克隆就是對整個硬碟的備份和還原。選擇菜單Local→Disk→To Disk,在彈出的窗口中選擇源硬碟(第一個硬碟),然後選擇要復制到的目標硬碟(第二個硬碟)。注意,可以設置目標硬碟各個分區的大小,Ghost 可以自動對目標硬碟按設定的分區數值進行分區和格式化。選擇 Yes 開始執行。
Ghost 能將目標硬碟復製得與源硬碟幾乎完全一樣,並實現分區、格式化、復制系統和文件一步完成。只是要注意目標硬碟不能太小,必須能將源硬碟的數據內容裝下。
Ghost 還提供了一項硬碟備份功能,就是將整個硬碟的數據備份成一個文件保存在硬碟上(菜單 Local→Disk→To Image),然後就可以隨時還原到其他硬碟或源硬碟上,這對安裝多個系統很方便。使用方法與分區備份相似。

三、備份還原

如果硬碟中備份的分區數據受到損壞,用一般數據修復方法不能修復,以及系統被破壞後不能啟動,都可以用備份的數據進行完全的復原而無須重新安裝程序或系統。當然,也可以將備份還原到另一個硬碟上。
要恢復備份的分區,就在界面中選擇菜單Local→Partition→From Image,在彈出窗口中選擇還原的備份文件,再選擇還原的硬碟和分區,點擊 Yes 按鈕即可。

四、區域網操作

LPT 是通過並口傳送備份文件,下面有兩個選項:slave 和 master, 分別用以連接主機和客戶機。 網路基本輸入輸出系統 NetBios 和 LPT 相似, 也有 slave 和 master 兩個選項, 作用與 LPT 相同。
先和平時一樣將要 ghost 的分區做成一個 *.gho 文件,再在一台 win98 上安裝Symantec Ghost 企業版,重啟。
1. 首先製作一張 ghost 帶網卡驅動的啟動盤。Start > Programs > Symantec Ghost > Ghost Boot Wizard->Network Boot Disk 如果你的網卡在列表內直接選擇它就可以生成一張帶 PC-DOS 的啟動盤。(但 6.5版的生成的軟盤經常有問題,不能成功啟動)如果你的網卡不在列表內,你要建立專用的 Packet Driver。ADD->Packet Driver (網卡的驅動程序中有)往下根據提示一步一步走,填入工作站的 ip(ghost 一定要 tcp/ip 協議)。最後生成一張軟盤,但此軟盤仍不能使用,要改 autoexec.bat 文件在 net xxxx.dos 後面加一個16進制的地址,如 0X75 等。多台計算機只需改 wattcp.cfg 文件中的 ip 即可:
IP = 192.168.100.44
NETMASK = 255.255.255.0
GATEWAY = 192.168.100.1
2. 在 server 端運行 multicast server 出來的畫面。先給 server一個Session Name(別名)如:bb,再選擇 image file 就是你的 gho 文件。然後 ->Dump From Client->rtitions->More Options-> 在 auto start 的 client 中填入 50(如果你要同時復制50台)->accept client 就算完成了,當你的工作站數達到50台時,server就自動傳送*.gho 文件。

3.詳述:
目前,相當多的電子教室都採用了沒有軟碟機、光碟機的工作站。在沒有軟碟機、光碟機的情況下,當硬碟的軟體系統出現問題時,能否實現網路硬碟克隆呢?PXE(Preboot Execution Environment,它是基於 TCP/IP、DHCP、TFTP 等 Internet 協議之上的擴展網路協議)技術提供的從網路啟動的功能,讓我們找到了解決之道。下面,我們就來講解怎樣採用Ghost 7.0來實現基於 PXE 的網路硬碟克隆。

網路硬碟克隆過程簡述

網路硬碟克隆過程為:在裝有軟碟機的工作站上,用一張引導盤來啟動機器,連接到伺服器,使用 Ghost 多播服務(Multicast Server)將硬碟或分區的映像克隆到工作站,這樣就實現了不拆機、安全、快速的網路硬碟克隆。

實現 PXE 網路啟動方式

對於沒有軟碟機、光碟機的工作站,要實現PXE網路啟動方式,需要完成三個步驟:

1、工作站的PXE啟動設置

PXE網路啟動一般要求在網卡上加裝 PXE 啟動晶元(PXE Boot ROM);對於某些型號的網卡,也可以將 PXE 啟動代碼(Boot Code)寫入主板的 Flash ROM;而一些主板上集成了網卡的品牌機(例如清華同方的商用機),可直接支持PXE啟動。

常用的 RTL8139 晶元的網卡,其 PXE 啟動設置方式是:機器啟動時根據屏幕提示按下Shift+F10,在啟動類型中選擇PXE,開啟網路啟動選項即可。

2、製作 PXE 啟動文件

製作 PXE 的啟動文件,推薦使用 3Com 的 DABS(Dynamic Access Boot Services)。DABS 提供了功能強大的 PXE 啟動服務、管理功能,但是,網上可供下載的是一個30天的試用版。所以,我們只用它的啟動映像文件製作功能,而由 Windows 2000 Server 的 DHCP 伺服器來提供 PXE 啟動服務。

DABS 可以安裝在任何一台運行 Windows 的機器上。安裝後,運行 3Com Boot Image Editor,出現主界面圖。選擇「創建TCP/IP或PXE映像文件(Create a TCP/IP or PXE image file)」,出現對話窗口。為即將建立的映像文件命名,例如:pxeghost.img,其他採用默認選項,將經測試正常的網路啟動盤放入軟碟機,選擇[OK],創建PXE啟動映像 Pxeghost.img文件。

在 3Com Boot Image Editor 的主菜單中,選擇「創建PXE菜單啟動文件(Creat a PXE menu boot file)」,在出現的窗口中選擇[添加(Add)],加入我們剛剛創建的啟動映像文件Pxeghost.img,在「選項(Options)」標簽中可以設置菜單標題和等待時間。

選擇[保存(Save)],給保存的PXE菜單啟動文件命名為 Pxemenu.pxe。

3、伺服器的PXE啟動服務設置

Windows 2000 Server 的 DHCP 服務支持兩種啟動協議:DHCP 和 BOOTP。我們可以設定以下三種選擇:僅 DHCP、僅 BOOTP、兩者。如果我們的區域網中由其他的 DHCP 伺服器提供動態 IP 地址分配,那麼這里選「僅BOOTP」即可;如果需要這台伺服器提供動態 IP 地址分配,則需要選「兩者」。

接下來,設置啟動文件名。在DHCP伺服器的作用域選項中配置選項「067:啟動文件名」,字串值為我們創建的 PXE 菜單啟動文件名 Pxemenu.pxe。注意:文件名不包含路徑。

DHCP 伺服器只是將啟動文件名通知給 BOOTP 客戶機,客戶機通過什麼方式下載啟動文件呢?答案是,需要 TFTP 服務。3Com 的 DABS 包含了一個 TFTP 服務組件,當然,也可以下載一個免費的 TFTP 伺服器軟體長期使用。

在 TFTP 伺服器的設置中,規定一個服務目錄。將製作的 PXE 啟動文件 Pxeghost.img、Pxemenu.pxe 放到 TFTP 的服務目錄中。TFTP 伺服器設置為自動運行。

用 Ghost 多播克隆硬碟

現在運行 Ghost 多播伺服器,任務名稱為 Restore。設置完畢,按下[接受客戶(Accept Clients)]按鈕。啟動要接受硬碟克隆的無軟碟機工作站,如果以上步驟操作無誤,應該能夠實現 PXE 啟動,加入到多播克隆的任務當中。所有的目標工作站連接到本次任務之後,按下[發送(Send)]按鈕,開始克隆任務。

五、參數設置

在 Options 中可以設置參數。下面簡單介紹一下:
1.image write buffering:在建立備份文件時, 打開寫緩沖;
2.sure:選擇此項後, 不再會出現最終確認詢問 (建議不要選擇此項);
3.no int 13:選擇此項後, 不支持中斷 13 (預設時不選擇);
4.reboot:在對硬碟或者分區操作完成之後, 自動重啟計算機;
5.spanning:通過多個卷架構備份文件 (選擇此項時, 關閉 write buffering);
6.autoname:自動為 spanning 文件命名;
7.allow 64k fat clusters:允許使用 64K FAT 簇 (僅在 Windows NT 中支持);
8.ignore CRC errors:忽略 CRC 錯誤;
9.override size limit:如果出現分區大小不相配, 可忽略執行;
10.image read buffering:打開生成備份文件時的讀緩存 (預設時選中此項)。

六、軟體特性

1.存貯介質
Ghost 支持的存儲介質超出了我們的想像,它支持對等 LPT 介面、對等 USB 介面、對等 TCP/IP 介面、SCSI磁帶機、攜帶型設備(JAZ、ZIP、MO等)、光碟刻錄機(CDR、CDRW)等。而這些特性不需要任何外帶的驅動程序和軟體,只需一張軟盤就可以做到!特別是對光碟刻錄機的支持,如今的刻錄機和空白光碟都十分便宜,非常適合作備份的用途。

2.兼容性
Ghost 對現有的操作系統都有良好的支持,包括 FAT16、FAT32、NTFS、HPFS、UNIX、NOVELL 等文件存儲格式。同以前版本不同的是,Ghost 2001 加入了對 Linux EX2的支持(FIFO 文件存儲格式),這也就意味著 Linux 的用戶也可以用 Ghost 來備份系統了。

3.配套軟體

A.Ghost 瀏覽器
在以前的 Ghost版本中,我們只能對整個系統進行簡單的備份、復制、還原,要恢復單個的文件和文件夾還要使用外帶的 GhostEXP 軟體。現在,Symantec 公司已經將 Ghost 瀏覽器整合在軟體中。Ghost 瀏覽器採用類似於資源管理器的界面,通過它,我們可以方便迅速地在備份包中找出我們想要的文件和文件夾並還原。
使用Explorer可以備份整個硬碟或單個硬碟分區,點擊工具欄上的圓柱形圖標,彈出硬碟或分區選擇對話窗口,然後再選擇備份文件的儲存目錄並輸入名稱即可完成。要注意的是,非注冊用戶不能使用備份這項功能。
在 Ghost Explorer 中管理硬碟備份文件就非常方便了。首先選擇打開一個備份文件(File/Open),這時備份中的文件就像資源管理器一樣在程序界面窗口中列出,可以在其中非常方便地查看、打開文件,也可以查找文件,或者將某個文件刪除(但不能刪除目錄)。
在 Ghost Explorer 中提供了多種還原硬碟備份文件的方法,最方便的方法是使用滑鼠右鍵點擊某個文件,在彈出菜單中選擇 Restore,然後輸入要還原到的目錄,這樣,單個文件就從整個磁碟備份中還原出來了。當然,如果要還原整個磁碟備份,只需選擇左面目錄列表欄中最上面的帶磁碟圖標的目錄項,然後點擊工具欄中的還原圖標 (第二個) 就可以了。

B.GDisk
GDisk 是一個新加入的實用工具,它徹底取代了 FDisk 和 Format,功能有:
* 快速格式化。
* 隱藏和顯示分區。此功能允許一個以上的主 DOS分區,並且每個分區上的操作系統有不同的版本。隱藏分區的能力使計算機習慣於引導到選定的可引導分區,忽略其他隱藏分區中相同操作系統的安裝。
* 全面的分區報告。
* 高度安全的磁碟擦除。提供符合美國國防部標准和更高安全標準的磁碟擦除選項。
與使用互動式菜單的 FDisk 不同,GDisk是由命令行驅動的。這提供了更快的配置磁碟分區和在批處理文件中定義 GDisk操作的能力。但與此同時,幾十個參數會令普通用戶頭疼,因此筆者不推薦一般用戶使用,Symantec 公司也應該推出相應的GUI(圖形用戶界面)控制台以方便用戶使用。具體的參數說明可以用命令行 gdisk/? 了解。

C.Live Update
Live Update 是 Symantec公司軟體的一個通用升級程序,它能夠檢查當前系統中已安裝的 Symantec 軟體,並且通過英特網對軟體進行在線升級。
在安裝 Ghost 2001 時,安裝程序自動升級了 Live Update 程序的版本。

七、命令行參數:(Ghost 的無人 備份/恢復/復制 操作)

其實 Ghost 2001 的功能遠遠不止它主程序中顯示的那些,Ghost 可以在其啟動的命令行中添加眾多參數以實現更多的功能。命令行參數在使用時頗為復雜,不過我們可以製作批處理文件,從而「一勞永逸」(類似於無人安裝 Windows 98 和Windows 2000)。現在讓我們來了解一些常用的參數(了解更加詳細的參數介紹可查看 Ghost 的幫助文件)。
1.-rb
本次 Ghost 操作結束退出時自動重啟。這樣,在復制系統時就可以放心離開了。
2.-fx
本次 Ghost 操作結束退出時自動回到DOS提示符。
3.-sure
對所有要求確認的提示或警告一律回答「Yes」。此參數有一定危險性,只建議高級用戶使用。
4.-fro
如果源分區發現壞簇,則略過提示而強制拷貝。此參數可用於試著挽救硬碟壞道中的數據。
5.@filename
在 filename 中指定 txt 文件。txt文件中為 Ghost 的附加參數,這樣做可以不受DOS命令行 150 個字元的限制。
6.-f32
將源 FAT16 分區拷貝後轉換成 FAT32(前提是目標分區不小於 2G)。WinNT 4 和Windows95、97用戶慎用。
7.-bootcd
當直接向光碟中備份文件時,此選項可以使光碟變成可引導。此過程需要放入啟動盤。
8.-fatlimit
將 NT 的 FAT16 分區限制在 2G。此參數在復制 Windows NT 分區,且不想使用64k/簇的 FAT16 時非常有用。
9.-span
分卷參數。當空間不足時提示復制到另一個分區的另一個備份包。
10.-auto
分卷拷貝時不提示就自動賦予一個文件名繼續執行。
11.-crcignore
忽略備份包中的 CRC ERROR。除非需要搶救備份包中的數據,否則不要使用此參數,以防數據錯誤。
12.-ia
全部映像。Ghost 會對硬碟上所有的分區逐個進行備份。
13.-ial
全部映像,類似於 -ia 參數,對 Linux 分區逐個進行備份。
14.-id
全部映像。類似於 -ia 參數,但包含分區的引導信息。
15.-quiet
操作過程中禁止狀態更新和用戶干預。
16.-script
可以執行多個 Ghost 命令行。命令行存放在指定的文件中。
17.-split=x
將備份包劃分成多個分卷,每個分卷的大小為 x兆。這個功能非常實用,用於大型備份包復制到移動式存儲設備上,例如將一個 1.9G 的備份包復制到 3 張刻錄盤上。
18.-z
將磁碟或分區上的內容保存到映像文件時進行壓縮。-z 或 -z1 為低壓縮率(快速);-z2 為高壓縮率(中速);-z3 至 -z9 壓縮率依次增大(速度依次減慢)。
19.-clone
這是實現 Ghost 無人備份/恢復的核心參數。使用語法為:
-clone,MODE=(operation),SRC=(source),DST=(destination),[SZE(size),SZE(size)...]
此參數行較為復雜,且各參數之間不能含有空格。其中 operation意為操作類型,值可取::磁碟到磁碟;load:文件到磁碟;mp:磁碟到文件;p:分區到分區;pload:文件到分區;pmp:分區到文件。
Source 意為操作源,值可取:驅動器號,從1開始;或者為文件名,需要寫絕對路徑。
Destination 意為目標位置,值可取:驅動器號,從 1開始;或者為文件名,需要寫絕對路徑;@CDx,刻錄機,x 表示刻錄機的驅動器號,從1開始。

下面舉例說明:

1.命令行參數:ghostpe.exe -clone,mode=,src=1,dst=2
完成操作:將本地磁碟1復制到本地磁碟2。

2.命令行參數:ghostpe.exe -clone,mode=p,src=1:2,dst=2:1
完成操作:將本地磁碟1上的第二分區復制到本地磁碟2的第一分區。

3.命令行參數:ghostpe.exe-clone,mode=load,src=g:\3prtdisk.gho,dst=1,sze1=450M,sze2=1599M,sze3=2047M
完成操作:從映像文件裝載磁碟1,並將第一個分區的大小調整為450MB,第二個調整為1599MB,第三個調整為2047MB。

4.命令行參數:ghostpe.exe -clone,mode=pmp,src2:1:4:6,dst=d:\prt246.gho
完成操作:創建僅含有選定分區的映像文件。從磁碟2上選擇分區1、4、6。

八、一些示例

ghost.exe -clone,mode=,src=1,dst=2 -sure
硬碟對拷

ghost.exe -clone,mode=p,src=1:2,dst=2:1 -sure
將一號硬碟的第二個分區復制到二號硬碟的第一個分區

ghost.exe -clone,mode=pmp,src=1:2,dst=g:\bac.gho
將一號硬碟的第二個分區做成映像文件放到 g 分區中

ghost.exe -clone,mode=pload,src=g:\bac.gho:2,dst=1:2
從內部存有兩個分區的映像文件中,把第二個分區還原到硬碟的第二個分區

ghost.exe -clone,mode=pload,src=g:\bac.gho,dst=1:1 -fx -sure -rb
用 g 盤的 bac.gho 文件還原 c 盤。完成後不顯示任何信息,直接啟動

ghost.exe -clone,mode=load,src=g:\bac.gho,dst=2,SZE1=60P,SZE2=40P
將映像文件還原到第二個硬碟,並將分區大小比例修改成 60:40

自動還原磁碟:
首先做一個啟動盤,包含 Config.sys, Autoexec.bat, Command.com, Io.sys, Ghost.exe 文件(可以用 windows 做啟動盤的程序完成)。Autoexec.bat 包含以下命令:
Ghost.exe -clone,mode=pload,src=d:\bac.gho,dst=1:1 -fx -sure -rb
利用在 D 盤的文件自動還原,結束以後自動退出 ghost 並且重新啟動。

自動備份磁碟:
ghost.exe -clone,mode=pmp,src=1:1,dst=d:\bac.gho -fx -sure -rb

自動還原光碟:
包含文件:Config.sys, Autoexec.bat, Mscdex.exe (CDROM 執行程序), Oakcdrom.sys (ATAPI CDROM 兼容驅動程序), Ghost.exe。
Config.sys 內容為:
DEVICE=OAKCDROM.SYS /D:IDECD001
Autoexec.bat 內容為:
MSCDEX.EXE /D:IDECE001 /L:Z
Ghost -clone,mode=load,src=z:\bac.gho,dst=1:1 -sure -rb

可以根據下面的具體說明修改示例:

1.-clone

-clone 在使用時必須加入參數,它同時也是所有的 switch{batch switch} 里最實用的。下面是 clone 所定義的參數:

mode={|load|mp|p|pload|pmp},
src={drive|file|driveartition},
dst={drive|file|driveartition}

mode 指定要使用哪種 clone 所提供的命令
硬碟到硬碟的復制 (disk to disk )
load 文件還原到硬碟 (file to disk load)
mp 將硬碟做成映像文件 (disk to file mp)
p 分區到分區的復制 (partition to partition )
pload 文件還原到分區 (file to partition load)
pmp 分區備份成映像文件(partition to file mp)

src 指定了 ghost 運行時使用的源分區的位置模式及其意義。對應 mode 命令 src 所使用參數例子:
COPY/DUMP 源硬碟號。以 1 代表第一號硬碟
LOAD 映像文件名。g:/back98/setup98.gho 或裝置名稱 (drive)
PCOPY/PDUMP 源分區號。1:2 代表的是硬碟1的第二個分區
PLOAD 分區映像文件名加上分區號或是驅動器名加上分區號。g:\back98.gho:2 代表映像文件里的第二個分區

dst 指定運行 Ghost 時使用的目標位置模式及其意義。對應 mode 命令 dst 所使用參數例子:
COPY/DUMP 目的硬碟號。2 代表第二號硬碟
LOAD 硬碟映像文件名。例 g:\back98\setup98.gho
PCOPY/PLOAD 目的分區號。2:2 代表硬碟 2 的第二個分區
PDUMP 分區映像文件名加分區號。g:\back98\setup98.gho:2
SZEn 指定所使用目的分區的大小:
n=xxxxM 指定第 n 目的分區的大小為 xxxxMB。如 SZE2=800M 表示分區 2 的大小為 800MB
n=mmP 指定第 n 目的分區的大小為整個硬碟的 mm 個百分比。

2.-fxo 當源物件出現壞塊時,強迫復制繼續進行

3.-fx 當ghost完成新系統的工作後不顯示 press ctrl-alt-del to reboot 直接回到DOS下

4.-ia 完全執行扇區到扇區的復制。當由一個映像文件或由另一個硬碟為來源,復制一個分區時,Ghost將首先檢查來源分區,再決定是要復制文件和目錄結構還是要做映像復制(扇區到扇區)。預設是這種形式。但是有的時候,硬碟里特定的位置可能會放一些隱藏的與系統安全有關的文件。只有用扇區到扇區復制的方法才能正確復制

5.-pwd and -pwd=x 給映像文件加密

6.-rb 在還原或復制完成以後,讓系統重新啟動

7.-sure 可以和 clone 合用。Ghost 不會顯示 proceed with disk clone-destination drive will be overwritten? 提示信息

九、注意事項

1.在備份系統時,單個的備份文件最好不要超過 2GB。
2.在備份系統前,最好將一些無用的文件刪除以減少Ghost文件的體積。通常無用的文件有:Windows 的臨時文件夾、IE 臨時文件夾、Windows 的內存交換文件。這些文件通常要佔去100 多兆硬碟空間。
3.在備份系統前,整理目標盤和源盤,以加快備份速度。
4.在備份系統前及恢復系統前,最好檢查一下目標盤和源盤,糾正磁碟錯誤。
5.在恢復系統時,最好先檢查一下要恢復的目標盤是否有重要的文件還未轉移,千萬不要等硬碟信息被覆蓋後才後悔莫及啊。
6.在選擇壓縮率時,建議不要選擇最高壓縮率,因為最高壓縮率非常耗時,而壓縮率又沒有明顯的提高。
7.在新安裝了軟體和硬體後,最好重新製作映像文件,否則很可能在恢復後出現一些莫名其妙的錯誤。

經典操作:Ghost完全應用技巧二十則
http://www.eqwl.com/showart.asp?id=27
v 用Ghost打造一鍵恢復功能
http://www.eqwl.com/showart.asp?id=313

③ 備份mysql數據

其實你的這個問題是mysql中的一個核心問題,既mysql數據的備份和恢復
你可以使用三種方式
1.使用sql語句導入導出
2.使用mysqlmp 和mysqlimport 工具
3.直接 數據文件 既冷備份
你說說的詳細,就給積分,那我就說詳細些

一.使用sql語句完成mysql的備份和恢復

你可以使用SELECT INTO OUTFILE語句備份數據,並用LOAD DATA INFILE語句恢復數據。這種方法只能導出數據的內容,不包括表的結構,如果表的結構文件損壞,你必須要先恢復原來的表的結構。
語法:
SELECT * INTO {OUTFILE | DUMPFILE} 'file_name' FROM tbl_name
LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE]
INTO TABLE tbl_name
SELECT ... INTO OUTFILE 'file_name'格式的SELECT語句將選擇的行寫入一個文件。文件在伺服器主機上被創建,並且不能是已經存在的(不管別的,這可阻止資料庫表和文件例如「/etc/passwd」被破壞)。SELECT ... INTO OUTFILE是LOAD DATA INFILE逆操作。
LOAD DATA INFILE語句從一個文本文件中以很高的速度讀入一個表中。如果指定LOCAL關鍵詞,從客戶主機讀文件。如果LOCAL沒指定,文件必須位於伺服器上。(LOCAL在MySQL3.22.6或以後版本中可用。)
為了安全原因,當讀取位於伺服器上的文本文件時,文件必須處於資料庫目錄或可被所有人讀取。另外,為了對伺服器上文件使用LOAD DATA INFILE,在伺服器主機上你必須有file的許可權。使用這種SELECT INTO OUTFILE語句,在伺服器主機上你必須有FILE許可權。
為了避免重復記錄,在表中你需要一個PRIMARY KEY或UNIQUE索引。當在唯一索引值上一個新記錄與一個老記錄重復時,REPLACE關鍵詞使得老記錄用一個新記錄替代。如果你指定IGNORE,跳過有唯一索引的現有行的重復行的輸入。如果你不指定任何一個選項,當找到重復索引值時,出現一個錯誤,並且文本文件的餘下部分被忽略時。
如果你指定關鍵詞LOW_PRIORITY,LOAD DATA語句的執行被推遲到沒有其他客戶讀取表後。
使用LOCAL將比讓伺服器直接存取文件慢些,因為文件的內容必須從客戶主機傳送到伺服器主機。在另一方面,你不需要file許可權裝載本地文件。如果你使用LOCAL關鍵詞從一個本地文件裝載數據,伺服器沒有辦法在操作的當中停止文件的傳輸,因此預設的行為好像IGNORE被指定一樣。
當在伺服器主機上尋找文件時,伺服器使用下列規則:
 如果給出一個絕對路徑名,伺服器使用該路徑名。
 如果給出一個有一個或多個前置部件的相對路徑名,伺服器相對伺服器的數據目錄搜索文件。
 如果給出一個沒有前置部件的一個文件名,伺服器在當前資料庫的資料庫目錄尋找文件。
假定表tbl_name具有一個PRIMARY KEY或UNIQUE索引,備份一個數據表的過程如下:
1、鎖定數據表,避免在備份過程中,表被更新
mysql>LOCK TABLES READ tbl_name;
關於表的鎖定的詳細信息,將在下一章介紹。
2、導出數據
mysql>SELECT * INTO OUTFILE 『tbl_name.bak』 FROM tbl_name;
3、解鎖表
mysql>UNLOCK TABLES;
相應的恢復備份的數據的過程如下:
1、為表增加一個寫鎖定:
mysql>LOCK TABLES tbl_name WRITE;
2、恢復數據
mysql>LOAD DATA INFILE 『tbl_name.bak』
->REPLACE INTO TABLE tbl_name;
如果,你指定一個LOW_PRIORITY關鍵字,就不必如上要對表鎖定,因為數據的導入將被推遲到沒有客戶讀表為止:
mysql>LOAD DATA LOW_PRIORITY INFILE 『tbl_name』
->REPLACE INTO TABLE tbl_name;
3、解鎖表
mysql->UNLOCAK TABLES;
5.3.2使用mysqlimport恢復數據
如果你僅僅恢復數據,那麼完全沒有必要在客戶機中執行SQL語句,因為你可以簡單的使用mysqlimport程序,它完全是與LOAD DATA 語句對應的,由發送一個LOAD DATA INFILE命令到伺服器來運作。執行命令mysqlimport --help,仔細查看輸出,你可以從這里得到幫助。
shell> mysqlimport [options] db_name filename ...
對於在命令行上命名的每個文本文件,mysqlimport剝去文件名的擴展名並且使用它決定哪個表導入文件的內容。例如,名為「patient.txt」、「patient.text」和「patient」將全部被導入名為patient的一個表中。
常用的選項為:
-C, --compress 如果客戶和伺服器均支持壓縮,壓縮兩者之間的所有信息。
-d, --delete 在導入文本文件前倒空表格。
l, --lock-tables 在處理任何文本文件前為寫入所定所有的表。這保證所有的表在伺服器上被同步。
--low-priority,--local,--replace,--ignore分別對應LOAD DATA語句的LOW_PRIORITY,LOCAL,REPLACE,IGNORE關鍵字。
例如恢復資料庫db1中表tbl1的數據,保存數據的文件為tbl1.bak,假定你在伺服器主機上:
shell>mysqlimport --lock-tables --replace db1 tbl1.bak
這樣在恢復數據之前現對表鎖定,也可以利用--low-priority選項:
shell>mysqlimport --low-priority --replace db1 tbl1.bak
如果你為遠程的伺服器恢復數據,還可以這樣:
shell>mysqlimport -C --lock-tables --replace db1 tbl1.bak
當然,解壓縮要消耗CPU時間。
象其它客戶機一樣,你可能需要提供-u,-p選項以通過身分驗證,也可以在選項文件my.cnf中存儲這些參數,具體方法和其它客戶機一樣,這里就不詳述了。

二、使用mysqlmp備份數據
同mysqlimport一樣,也存在一個工具mysqlmp備份數據,但是它比SQL語句多做的工作是可以在導出的文件中包括SQL語句,因此可以備份資料庫表的結構,而且可以備份一個資料庫,甚至整個資料庫系統。
mysqlmp [OPTIONS] database [tables]
mysqlmp [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
mysqlmp [OPTIONS] --all-databases [OPTIONS]
如果你不給定任何錶,整個資料庫將被傾倒。
通過執行mysqlmp --help,你能得到你mysqlmp的版本支持的選項表。
1、備份資料庫的方法
例如,假定你在伺服器主機上備份資料庫db_name
shell> mydqlmp db_name
當然,由於mysqlmp預設時把輸出定位到標准輸出,你需要重定向標准輸出。例如,把資料庫備份到bd_name.bak中:
shell> mydqlmp db_name>db_name.bak
你可以備份多個資料庫,注意這種方法將不能指定數據表:
shell> mydqlmp --databases db1 db1>db.bak
你也可以備份整個資料庫系統的拷貝,不過對於一個龐大的系統,這樣做沒有什麼實際的價值:
shell> mydqlmp --all-databases>db.bak
雖然用mysqlmp導出表的結構很有用,但是恢復大量數據時,眾多SQL語句使恢復的效率降低。你可以通過使用--tab選項,分開數據和創建表的SQL語句。
-T,--tab= 在選項指定的目錄里,創建用製表符(tab)分隔列值的數據文件和包含創建表結構的SQL語句的文件,分別用擴展名.txt和.sql表示。該選項不能與--databases或--all-databases同時使用,並且mysqlmp必須運行在伺服器主機上。
例如,假設資料庫db包括表tbl1,tbl2,你准備備份它們到/var/mysqldb
shell>mysqlmp --tab=/var/mysqldb/ db
其效果是在目錄/var/mysqldb中生成4個文件,分別是tbl1.txt、tbl1.sql、tbl2.txt和tbl2.sql。
2、mysqlmp實用程序時的身份驗證的問題
同其他客戶機一樣,你也必須提供一個MySQL資料庫帳號用來導出資料庫,如果你不是使用匿名用戶的話,可能需要手工提供參數或者使用選項文件:
如果這樣:
shell>mysql -u root –pmypass db_name>db_name.sql
或者這樣在選項文件中提供參數:
[mysqlmp]
user=root
password=mypass
然後執行
shell>mysqlmp db_name>db_name.sql
那麼一切順利,不會有任何問題,但要注意命令歷史會泄漏密碼,或者不能讓任何除你之外的用戶能夠訪問選項文件,由於資料庫伺服器也需要這個選項文件時,選項文件只能被啟動伺服器的用戶(如,mysql)擁有和訪問,以免泄密。在Unix下你還有一個解決辦法,可以在自己的用戶目錄中提供個人選項文件(~/.my.cnf),例如,/home/some_user/.my.cnf,然後把上面的內容加入文件中,注意防止泄密。在NT系統中,你可以簡單的讓c:\my.cnf能被指定的用戶訪問。
你可能要問,為什麼這么麻煩呢,例如,這樣使用命令行:
shell>mysql -u root –p db_name>db_name.sql
或者在選項文件中加入
[mysqlmp]
user=root
password
然後執行命令行:
shell>mysql db_name>db_name.sql
你發現了什麼?往常熟悉的Enter password:提示並沒有出現,因為標准輸出被重定向到文件db_name.sql中了,所以看不到往常的提示符,程序在等待你輸入密碼。在重定向的情況下,再使用交互模式,就會有問題。在上面的情況下,你還可以直接輸入密碼。然後在文件db_name.sql文件的第一行看到:
Enter password:#……..
你可能說問題不大,但是mysqlmp之所以把結果輸出到標准輸出,是為了重定向到其它程序的標准輸入,這樣有利於編寫腳本。例如:
用來自於一個資料庫的信息充實另外一個MySQL資料庫也是有用的:
shell>mysqlmp --opt database | mysql --host=remote-host -C database
如果mysqlmp仍運行在提示輸入密碼的交互模式下,該命令不會成功,但是如果mysql是否運行在提示輸入密碼的交互模式下,都是可以的。
如果在選項文件中的[client]或者[mysqlmp]任何一段中指定了password選項,且不提供密碼,即使,在另一段中有提供密碼的選項password=mypass,例如
[client]
user=root
password
[mysqlmp]
user=admin
password=mypass
那麼mysqlmp一定要你輸入admin用戶的密碼:
mysql>mysqlmp db_name
即使是這樣使用命令行:
mysql>mysqlmp –u root –ppass1 db
也是這樣,不過要如果-u指定的用戶的密碼。
其它使用選項文件的客戶程序也是這樣
3、有關生成SQL語句的優化控制
--add-locks 生成的SQL 語句中,在每個表數據恢復之前增加LOCK TABLES並且之後UNLOCK TABLE。(為了使得更快地插入到MySQL)。
--add-drop-table 生成的SQL 語句中,在每個create語句之前增加一個drop table。
-e, --extended-insert 使用全新多行INSERT語法。(給出更緊縮並且更快的插入語句)
下面兩個選項能夠加快備份表的速度:
-l, --lock-tables. 為開始導出數據前,讀鎖定所有涉及的表。
-q, --quick 不緩沖查詢,直接傾倒至stdout。
理論上,備份時你應該指定上訴所有選項。這樣會使命令行過於復雜,作為代替,你可以簡單的指定一個--opt選項,它會使上述所有選項有效。
例如,你將導出一個很大的資料庫:
shell> mysqlmp --opt db_name > db_name.txt
當然,使用--tab選項時,由於不生成恢復數據的SQL語句,使用--opt時,只會加快數據導出。
4、恢復mysqlmp備份的數據
由於備份文件是SQL語句的集合,所以需要在批處理模式下使用客戶機
 如果你使用mysqlmp備份單個資料庫或表,即:
shell>mysqlmp --opt db_name > db_name.sql
由於db_name.sql中不包括創建資料庫或者選取資料庫的語句,你需要指定資料庫
shell>mysql db2 < db_name.sql
 如果,你使用--databases或者--all-databases選項,由於導出文件中已經包含創建和選用資料庫的語句,可以直接使用,不比指定資料庫,例如:
shell>mysqlmp --databases db_name > db_name.sql
shell>mysql <db_name.sql
 如果你使用--tab選項備份數據,數據恢復可能效率會高些
例如,備份資料庫db_name後在恢復:
shell>mysqlmp --tab=/path/to/dir --opt test
如果要恢復表的結構,可以這樣:
shell>mysql < /path/to/dir/tbl1.sql

如果要恢復數據,可以這樣
shell>mysqlimport -l db /path/to/dir/tbl1.txt

如果是在Unix平台下使用(推薦),就更方便了:
shell>ls -l *.sql | mysql db
shell>mysqlimport --lock-tables db /path/to/dir/*.txt

三 .用直接拷貝的方法備份恢復
根據本章前兩節的介紹,由於MySQL的資料庫和表是直接通過目錄和表文件實現的,因此直接復制文件來備份資料庫數據,對MySQL來說特別方便。而且自MySQL 3.23起MyISAM表成為預設的表的類型,這種表可以為在不同的硬體體系中共享數據提供了保證。
使用直接拷貝的方法備份時,尤其要注意表沒有被使用,你應該首先對表進行讀鎖定。
備份一個表,需要三個文件:
對於MyISAM表:
tbl_name.frm 表的描述文件
tbl_name.MYD 表的數據文件
tbl_name.MYI 表的索引文件
對於ISAM表:
tbl_name.frm 表的描述文件
tbl_name.ISD 表的數據文件
tbl_name.ISM 表的索引文件
你直接拷貝文件從一個資料庫伺服器到另一個伺服器,對於MyISAM表,你可以從運行在不同硬體系統的伺服器之間復制文件

像你這個問題,可以把遠程機器的mysql數據目錄ftp下載到你本地的mysql目錄下,重啟mysql就可以了

④ win7 系統下的 mysql 5.5 資料庫如何在命令行里備份 和還原資料庫

其實我認為可以用Navicat 好用多了。。。

⑤ 如何用命令行備份mysql下所有資料庫

關鍵字: mysql 還原或者導入資料庫命令:

mysql -u root --password=root

備份資料庫命令:

mysqlmp -u root --password=root --database helloworld >helloworld_backup.sql

其他用法:

1.導出整個資料庫
mysqlmp -u 用戶名 -p 資料庫名 > 導出的文件名
mysqlmp -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.導出一個表
mysqlmp -u 用戶名 -p 資料庫名表名> 導出的文件名
mysqlmp -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.導出一個資料庫結構
mysqlmp -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql

-d 沒有數據 --add-drop-table 在每個create語句之前增加一個drop table

4.導入資料庫
常用source 命令
進入mysql資料庫控制台,
如mysql -u root -p

mysql>use 資料庫

然後使用source命令,後面參數為腳本文件(如這里用到的.sql)
mysql>source d:\wcnc_db.sql

⑥ 如何在命令行CMD模式下備份MySQL資料庫

關鍵字: mysql 還原或者導入資料庫命令:

mysql -u root --password=root

備份資料庫命令:

mysqlmp -u root --password=root --database helloworld >helloworld_backup.sql

其他用法:

1.導出整個資料庫
mysqlmp -u 用戶名 -p 資料庫名 > 導出的文件名
mysqlmp -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.導出一個表
mysqlmp -u 用戶名 -p 資料庫名表名> 導出的文件名
mysqlmp -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.導出一個資料庫結構
mysqlmp -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql

-d 沒有數據 --add-drop-table 在每個create語句之前增加一個drop table

4.導入資料庫
常用source 命令
進入mysql資料庫控制台,
如mysql -u root -p

mysql>use 資料庫

然後使用source命令,後面參數為腳本文件(如這里用到的.sql)
mysql>source d:\wcnc_db.sql

⑦ mysql資料庫如何備份

MySQL資料庫備份與還原
備份和恢復數據
生成SQL腳本
在控制台使用mysqlmp命令可以用來生成指定資料庫的腳本文本,但要注意,腳本文本中只包含資料庫的內容,而不會存在創建資料庫的語句!所以在恢復數據時,還需要自已手動創建一個資料庫之後再去恢復數據。
mysqlmp –u用戶名 –p密碼 資料庫名>生成的腳本文件路徑
現在可以在C盤下找到mydb1.sql文件了!
注意,mysqlmp命令是在Windows控制台下執行,無需登錄mysql!!!
執行SQL腳本
執行SQL腳本需要登錄mysql,然後進入指定資料庫,才可以執行SQL腳本!!!
執行SQL腳本不只是用來恢復資料庫,也可以在平時編寫SQL腳本,然後使用執行SQL 腳本來操作資料庫!大家都知道,在黑屏下編寫SQL語句時,就算發現了錯誤,可能也不能修改了。所以我建議大家使用腳本文件來編寫SQL代碼,然後執行之!
SOURCE C:\mydb1.sql
注意,在執行腳本時需要先行核查當前資料庫中的表是否與腳本文件中的語句有沖突!例如在腳本文件中存在create table a的語句,而當前資料庫中已經存在了a表,那麼就會出錯!
還可以通過下面的方式來執行腳本文件:
mysql -uroot -p123 mydb1<c:\mydb1.sql
mysql –u用戶名 –p密碼 資料庫<要執行腳本文件路徑
這種方式無需登錄mysql!

⑧ mysql備份方式有哪些

資料庫最直接的備份方法就是使用自帶的mysqlmp命令進行備份。
1、 mysqlmp命令備份數據
在MySQL中提供了命令行導出資料庫數據以及文件的一種方便的工具mysqlmp,我們可以通過命令行直接實現資料庫內容的導出mp,首先我們簡單了解一下mysqlmp命令用法:
#MySQLmp常用
mysqlmp -u root -p --databases 資料庫1 資料庫2 > xxx.sql
2、 mysqlmp常用操作實例
2.1備份全部資料庫的數據和結構
mysqlmp -uroot -p123456 -A > /data/mysqlDump/mydb.sql
2.2備份全部資料庫的結構(加 -d 參數)
mysqlmp -uroot -p123456 -A -d > /data/mysqlDump/mydb.sql
2.3 備份全部資料庫的數據(加 -t 參數)
mysqlmp -uroot -p123456 -A -t > /data/mysqlDump/mydb.sql
2.4 備份單個資料庫的數據和結構(,資料庫名mydb)
mysqlmp -uroot-p123456 mydb > /data/mysqlDump/mydb.sql
2.5 備份單個資料庫的結構
mysqlmp -uroot -p123456 mydb -d > /data/mysqlDump/mydb.sql
2.6 備份單個資料庫的數據
mysqlmp -uroot -p123456 mydb -t > /data/mysqlDump/mydb.sql2
2.7 備份多個表的數據和結構(數據,結構的單獨備份方法與上同)
mysqlmp -uroot -p123456 mydb t1 t2 > /data/mysqlDump/mydb.sql
2.8 一次備份多個資料庫
mysqlmp -uroot -p123456 --databases db1 db2 > /data/mysqlDump/mydb.sql

⑨ mysql資料庫存儲過程怎麼備份資料庫

cmd命令行: mysqlmp -uroot -p -D > 備份存放目錄/備份.sql
上面是備份資料庫的,下面是備份表的
mysqlmp -u root -p 備份表 > 備份存放目錄/備份.sql

閱讀全文

與命令行備份表相關的資料

熱點內容
量柱比前一天多源碼 瀏覽:416
電子書app怎麼上傳 瀏覽:66
國家反詐中心app注冊怎麼開啟 瀏覽:804
全波差分傅里葉演算法窗長 瀏覽:41
程序員如何講自己做過的項目 瀏覽:7
程序員要看的書頸椎 瀏覽:946
php文章cms 瀏覽:553
CSS權威指南第三版PDF 瀏覽:496
android怎麼搭建框架 瀏覽:184
正宗溯源碼大燕條一克一般多少錢 瀏覽:917
電腦感染exe文件夾 瀏覽:916
wpsppt怎麼轉pdf格式 瀏覽:88
騰訊文檔在線編輯怎麼添加密碼 瀏覽:880
本地不能訪問伺服器地址 瀏覽:865
訪問伺服器命令 瀏覽:835
華為雲伺服器分銷商 瀏覽:954
Linux定位內存泄露 瀏覽:198
工程加密狗視頻 瀏覽:720
不在內網怎麼連接伺服器 瀏覽:664
雲伺服器app安卓下載 瀏覽:966