1. 怎麼用SQL語句備份和恢復資料庫
用SQL語句備份與恢復資料庫的步驟:
備份: mysqlmp --quick --database ondemand1 --u root >bacqup.sql 這樣就能把資料庫中ondemand1的表全部備份出來。
其中參數的格式是:--,兩橫杠,不是我們常用的單橫杠。
quick是在數據比較多的時候,不用該參數的話,所有的數據都會先在內存緩存,接著才導出,這樣會導致伺服器運行減慢。
--u 必須要加一個用戶名,否則系統會提示你進不了ODBC資料庫的。
>backup.sql則是你備份資料庫的目標文件名。
恢復:m1ysql -u root -p database_name d:db.bak,在WIN下,路徑用path/filename.sql是不行的,那就用pathfilename.sql。
sql語句:
是對資料庫進行操作的一種語言。結構化查詢語言(Structured Query Language)簡稱SQL,結構化查詢語言是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統。
2. 如何進行資料庫備份和恢復 mysql
MySQL備份和還原,都是利用mysqlmp、mysql和source命令來完成的。
1.Win32下MySQL的備份與還原
1.1 備份
開始菜單 | 運行 | cmd |利用「cd /Program Files/MySQL/MySQL Server 5.0/bin」命令進入bin文件夾 | 利用「mysqlmp -u 用戶名 -p databasename >exportfilename」導出資料庫到文件,如mysqlmp -u root -p voice>voice.sql,然後輸入密碼即可開始導出。
1.2 還原
進入MySQL Command Line Client,輸入密碼,進入到「mysql>」,輸入命令"show databases;",回車,看看有些什麼資料庫;建立你要還原的資料庫,輸入"create database voice;",回車;切換到剛建立的資料庫,輸入"use voice;",回車;導入數據,輸入"source voice.sql;",回車,開始導入,再次出現"mysql>"並且沒有提示錯誤即還原成功。
2.Linux下MySQL的備份與還原
2.1 備份
[root@localhost ~]# cd /var/lib/mysql (進入到MySQL庫目錄,根據自己的MySQL的安裝情況調整目錄)
[root@localhost mysql]# mysqlmp -u root -p voice>voice.sql,輸入密碼即可。
2.2 還原
法一:
[root@localhost ~]# mysql -u root -p 回車,輸入密碼,進入MySQL的控制台"mysql>",同1.2還原。
法二:
[root@localhost ~]# cd /var/lib/mysql (進入到MySQL庫目錄,根據自己的MySQL的安裝情況調整目錄)
[root@localhost mysql]# mysql -u root -p voice<voice.sql,輸入密碼即可。
3. 就是資料庫數據備份與恢復
現在主流的資料庫備份與恢復的操作或者命令都全部相同.比如mysql,
source
d:/backup.sql
來導入之前的備份.
mysqlDump
-hlocalhost
-uroot
-p
myDatabase
>e:\MySQL\mydb.sql
然後輸入密碼,等待一會導出就成功了,可以到目標文件中檢查是否成功。
還有oracle的備份,
使用imp
和
emp命令,
具體你可以參考網上的案例.
sql
server還是涉及到差異備份,完全備份等.
小弟無深入研究過.
4. 如何用mysql命令備份和恢復
Mysql資料庫備份和還原常用的命令是進行Mysql資料庫備份和還原的關鍵,沒有命令,什麼都無從做起,更談不上什麼備份還原,只有給系統這個命令,讓它去執行,才能完成Mysql資料庫備份和還原的操作,下面為大家分享一下操作的常用的命令。
一、備份命令
1、備份MySQL資料庫的命令
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysqlmp-hhostname-uusername-ppassword databasename>backupfile.sql
2、備份MySQL資料庫為帶刪除表的格式
備份MySQL資料庫為帶刪除表的格式,能夠讓該備份覆蓋已有資料庫而不需要手動刪除原有資料庫。
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysqlmp-–add-drop-table-uusername-ppassword databasename>backupfile.sql
3、直接將MySQL資料庫壓縮備份
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysqlmp-hhostname-uusername-ppassword databasename|gzip>backupfile.sql.gz
4、備份MySQL資料庫某個(些)表
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysqlmp-hhostname-uusername-ppassword databasename specific_table1 specific_table2>backupfile.sql
5、同時備份多個MySQL資料庫
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysqlmp-hhostname-uusername-ppassword –databases databasename1 databasename2 databasename3>multibackupfile.sql
6、僅僅備份資料庫結構
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysqlmp –no-data –databases databasename1 databasename2 databasename3>structurebackupfile.sql
7、備份伺服器上所有資料庫
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysqlmp –all-databases>allbackupfile.sql
二、還原命令
1、還原MySQL資料庫的命令
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysql-hhostname-uusername-ppassword databasename<backupfile.sql
2、還原壓縮的MySQL資料庫
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->gunzip<backupfile.sql.gz|mysql-uusername-ppassword databasename
3、將資料庫轉移到新伺服器
<!--
Code highlighting proced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->mysqlmp-uusername-ppassword databasename|mysql –host=*.*.*.*-C databasename
總結
做好數據備份和還原,定好合適的備份策略,這是一個DBA所做事情的一小部分,萬事開頭難,就從現在開始吧!
5. 資料庫的備份與恢復
SQL2000資料庫的備份概念
SQL
SERVER
2000有四種類型是:資料庫、事務日誌、差異、文件和文件組
資料庫備份是創建完事資料庫的復本。它並非將所有的頁都復制到備份集,而只將實際包含數據的頁復制到備份集。數據頁和事務日誌頁均復制到備份集。
資料庫備份用於重新創建資料庫,使其恢復到BACKUP語句完成時的狀態。如果資料庫只存在資料庫備份,那麼資料庫只能恢復到伺服器或資料庫發生故障前最後一次資料庫備份時的狀態。
事務日誌備份僅製作日誌文件的復本。日誌文件備份本身不能用於還原資料庫。日誌文件用於在資料庫還原後將資料庫恢復到原始故障點。
例如,某站點在星期天晚上執行資料庫備份,而在其它每個晚上執行日誌備份。如果資料庫的某個數據磁碟在星期二2:30丟失,則該站點可以:
1備份當前事務日誌
2還原從星期天晚上開始的資料庫備份
3還原從星期一晚上開始的日誌備份,以將資料庫前滾。
4還原故障之後的日誌備份。這將使資料庫前滾到故障發生的那一刻。
事務日誌恢復需要從資料庫備份的那一刻到磁碟丟失那一刻之間所進行的一邊串不間斷的事務日誌備份。
差異備份只追尋資料庫中自上一次資料庫備份之後修改過的所有頁的復本。差異日誌主要用於使用頻繁的系統,一旦這類系統中的資料庫發生故障,必須盡快使其重新聯機。差異備份比完事資料庫備份小,因此對正在運行的系統影響較小。
例如,某個站點在星期天晚上執行完事資料庫備份。在白天每隔4小時製作一個事務日誌備份集,並用當天的備份重寫頭一天的備份。每晚則進行差異備份。如果資料庫的某個數據磁碟在星期四上午9:12出現故障,則該站點可以:
1備份當前事務日誌。
2還原從星期天晚上開始的資料庫備份。
3還原從星期三晚上開始的差異備份,將資料庫前滾到這一時刻。
4還原從早上4點到8點的事務日誌備份,以將資料庫前滾到早上8點。
5還原故障之後的日誌備份,這將使資料庫前滾到故障發生的那一刻。
SQL2000支持備份或還原資料庫中的個別文件或文件組。這是一種相對較完善的備份和還原過程,通常用在具有較高可用性要求的超大型資料庫中。如果可用的備份時間不足以支持完事資料庫備份,則可以在不同的時間備份資料庫的子集。
例如,某站點需要花三小時備份資料庫,並且每天只能用兩個小時執行備份。該站點可在一個晚上備份一半文件或文件級,並在第二個晚上備份另一半。如果包含資料庫文件或文件組的磁碟出現故障,那麼該站點可以只還原丟失的文件或文件組。
該站點還必須進行事務日誌備份,並且在備份文件或文件組之後必須還原所胡事務日誌備份。還可以從完事資料庫備份集中還原文件和文件組。這將回憶恢復速度,因為在第一步只還原已損壞的文件或文件組,而不是整個資料庫。
6. SQL 備份還原資料庫 命令方式
備份資料庫
1、打開sql企業管理器,在控制台根目錄中依次點開microsoft
sql
server
2、sql
server組-->雙擊打開你的伺服器-->雙擊打開資料庫目錄
3、選擇你的資料庫名稱(如財務資料庫cwdata)-->然後點上面菜單中的工具-->選擇備份資料庫
4、備份選項選擇完全備份,目的中的備份到如果原來有路徑和名稱則選中名稱點刪除,然後點添加,如果原來沒有路徑和名稱則直接選擇添加,接著指定路徑和文件名,指定後點確定返回備份窗口,接著點確定進行備份。
7. 如何Oracle 資料庫備份與恢復
Oracle資料庫備份與恢復的三種方法
Oracle資料庫有三種標準的備份方法,它們分別是導出/導入(EXP/IMP)、熱備份和冷備份。導出備件是一種邏輯備份,冷備份和熱備份是物理備份。
一、 導出/導入(Export/Import)
利用Export可將數據從資料庫中提取出來,利用Import則可將提取出來的數據送回到Oracle資料庫中去。
1、 簡單導出數據(Export)和導入數據(Import)
Oracle支持三種方式類型的輸出:
(1)、表方式(T方式),將指定表的數據導出。
(2)、用戶方式(U方式),將指定用戶的所有對象及數據導出。
(3)、全庫方式(Full方式),瘵資料庫中的所有對象導出。
數據導入(Import)的過程是數據導出(Export)的逆過程,分別將數據文件導入資料庫和將資料庫數據導出到數據文件。
2、 增量導出/導入
增量導出是一種常用的數據備份方法,它只能對整個資料庫來實施,並且必須作為SYSTEM來導出。在進行此種導出時,系統不要求回答任何問題。導出文件名預設為export.dmp,如果不希望自己的輸出文件定名為export.dmp,必須在命令行中指出要用的文件名。
增量導出包括三種類型:
(1)、「完全」增量導出(Complete)
即備份三個資料庫,比如:
exp system/manager inctype=complete file=040731.dmp
(2)、「增量型」增量導出
備份上一次備份後改變的數據,比如:
exp system/manager inctype=incremental file=040731.dmp
(3)、「累積型」增量導出
累計型導出方式是導出自上次「完全」導出之後資料庫中變化了的信息。比如:
exp system/manager inctype=cumulative file=040731.dmp
資料庫管理員可以排定一個備份日程表,用數據導出的三個不同方式合理高效的完成。
比如資料庫的被封任務可以做如下安排:
星期一:完全備份(A)
星期二:增量導出(B)
星期三:增量導出(C)
星期四:增量導出(D)
星期五:累計導出(E)
星期六:增量導出(F)
星期日:增量導出(G)
如果在星期日,資料庫遭到意外破壞,資料庫管理員可按一下步驟來回復資料庫:
第一步:用命令CREATE DATABASE重新生成資料庫結構;
第二步:創建一個足夠大的附加回滾。
第三步:完全增量導入A:
imp system/manager inctype=RESTOREFULL=y FILE=A
第四步:累計增量導入E:
imp system/manager inctype=RESTOREFULL=Y FILE=E
第五步:最近增量導入F:
imp system/manager inctype=RESTOREFULL=Y FILE=F
二、 冷備份
冷備份發生在資料庫已經正常關閉的情況下,當正常關閉時會提供給我們一個完整的資料庫。冷備份時將關鍵性文件拷貝到另外的位置的一種說法。對於備份Oracle信息而言,冷備份時最快和最安全的方法。冷備份的優點是:
1、 是非常快速的備份方法(只需拷文件)
2、 容易歸檔(簡單拷貝即可)
3、 容易恢復到某個時間點上(只需將文件再拷貝回去)
4、 能與歸檔方法相結合,做資料庫「最佳狀態」的恢復。
5、 低度維護,高度安全。
但冷備份也有如下不足:
1、 單獨使用時,只能提供到「某一時間點上」的恢復。
2、 再實施備份的全過程中,資料庫必須要作備份而不能作其他工作。也就是說,在冷備份過程中,資料庫必須是關閉狀態。
3、 若磁碟空間有限,只能拷貝到磁帶等其他外部存儲設備上,速度會很慢。
4、 不能按表或按用戶恢復。
如果可能的話(主要看效率),應將信息備份到磁碟上,然後啟動資料庫(使用戶可以工作)並將備份的信息拷貝到磁帶上(拷貝的同時,資料庫也可以工作)。冷備份中必須拷貝的文件包括:
1、 所有數據文件
2、 所有控制文件
3、 所有聯機REDO LOG文件
4、 Init.ora文件(可選)
值得注意的使冷備份必須在資料庫關閉的情況下進行,當資料庫處於打開狀態時,執行資料庫文件系統備份是無效的。
下面是作冷備份的完整例子。
(1) 關閉資料庫
sqlplus /nolog sql>;connect /as sysdba sql>;shutdown normal;
(2) 用拷貝命令備份全部的時間文件、重做日誌文件、控制文件、初始化參數文件
{$PageTitle=sql>;cp ; ;}
(3) 重啟Oracle資料庫
sql>;startup
三、 熱備份
熱備份是在資料庫運行的情況下,採用archivelog mode方式備份資料庫的方法。所以,如果你有昨天夜裡的一個冷備份而且又有今天的熱備份文件,在發生問題時,就可以利用這些資料恢復更多的信息。熱備份要求資料庫在Archivelog方式下操作,並需要大量的檔案空間。一旦資料庫運行在archivelog狀態下,就可以做備份了。熱備份的命令文件由三部分組成:
1. 數據文件一個表空間一個表空間的備份。
(1) 設置表空間為備份狀態
(2) 備份表空間的數據文件
(3) 回復表空間為正常狀態
2. 備份歸檔log文件
(1) 臨時停止歸檔進程
(2) log下那些在archive rede log目標目錄中的文件
(3) 重新啟動archive進程
(4) 備份歸檔的redo log文件
3. 用alter database bachup controlfile命令來備份控制文件
熱備份的優點是:
1. 可在表空間或資料庫文件級備份,備份的時間短。
2. 備份時資料庫仍可使用。
3. 可達到秒級恢復(恢復到某一時間點上)。
4. 可對幾乎所有資料庫實體做恢復
5. 恢復是快速的,在大多數情況下愛資料庫仍工作時恢復。
熱備份的不足是:
1. 不能出錯,否則後果嚴重
2. 若熱備份不成功,所得結果不可用於時間點的恢復
3. 因難於維護,所以要特別仔細小心,不允許「以失敗告終」。
8. 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!
9. 如何使用命令來備份和還原MySQL資料庫
備份資料庫
使用mysqlmp命令備份資料庫
復制代碼代碼如下:
# 如果要將game資料庫進行備份:
mysqlmp -u root -p game > game_backup.sql
# 如果希望備份所有的資料庫:
mysqlmp -u root -p --all-databases > all_backup.sql
還原資料庫
1、使用mysql命令還原資料庫
將game_backup.sql 還原至 game 資料庫:
復制代碼代碼如下:
mysql -u root -p game < game_backup.sql
2、使用source命令還原資料庫
如果資料庫過大,建議可以使用source命令
復制代碼代碼如下:
mysql> source game_backup.sql