目錄
對於現代網際網路公司而言,儲存在伺服器資料庫中的資料,逐步成為企業和公司的命脈,對企業和公司的生存發展具有十分重大的影響。為了保證資料庫資料儲存安全,確保不會因為誤操作和不可抗力而破壞,通常我們都會對資料庫中的資料進行備份。對mysql資料庫的備份,可以有很多種方式,我們接下來按照不同的分類標準,來講解一下這些備份方式:
1、熱備份(hot backup)。指在資料庫執行過程中進行備份,並且對資料庫正常執行沒有任何影響。
2、冷備份(cold backup)。指在資料庫停止執行後開始進行的備份。
3、溫備份(warm backup)。指在資料庫執行過程中進行備份,但是會造成資料庫效能下降,對資料庫提供服務造成影響的備份方式。
1、邏輯備份。採用邏輯備份的方式,備份出的資料通常是.sql型別的檔案。備份後的內容可讀且為文字檔案。該方法一般用於資料庫的公升級、遷移或者對資料庫表的批量修改等場景。該方法恢復時間較長。
2、裸檔案備份。指拷貝資料庫的物理檔案,採用這種方式,資料庫恢復時間較短。
1、完全備份。指的是對資料庫進行完整的備份。
2、增量備份。指的是在上一次備份的基礎上,對更新的資料進行備份,而不是備份所有資料。
3、日誌備份。指的是對資料庫的日誌進行備份,mysql主從同步架構中就是採用這種備份方式。
mysqldump是mysql資料庫自帶的資料備份匯出的工具,該工具支援myisam和innodb引擎的資料表。mysqldump備份使用引數如下:
-u:表示指定登入資料庫使用的使用者。
-p:表示指定登入資料庫使用的使用者密碼。
-d:表示匯出時只匯出資料庫的表結構。
-t:表示匯出時只匯出資料庫的具體資料而不包括表結構。
-a:表示匯出所有的資料庫。
使用mysqldump示例如下:
mysqldump -uroot -proot -a >all_database.sql
mysqldump -uroot -proot pzz > pzz.sql
mysqldump -uroot -proot pzz student > student.sql
mysqldump -uroot -proot -d pzz > pzz_table.sql
mysqldump -uroot -proot -t pzz > pzz_data.sql
上述五條命令,分別表示匯出資料庫中的所有資料,匯出pzz資料庫中的資料,匯出pzz資料庫中stud程式設計客棧ent表中的所有資料,匯出pzz資料庫中表結構相關資料以及匯出pzz資料庫中除了表結構之外的實際數www.cppcns.com據。
使用mysqldump匯出的檔案,結果如下所示:
在mysql5.5及以下版本的資料庫中(mysql5.7版本的資料庫中已經刪去mysqlhotcopy命令),可以進行快速備份。mysqlhotcopy所進行的備份,本質上就是對資料庫庫表檔案的直接物理複製,只不過在複製時使用了鎖對資料庫的內容進行了鎖定。並且,mysqlhotcopy命令只能備份myisam引擎的資料表。mysqlhotcopy命令使用示例如下:
mysqlhotcopy -u root -p root pzz /root
mysqlhotcopy -u root -p root pzz./student/root
上面兩條命令,第一條是對pzz資料庫進行備份,第二條是對pzz資料庫中的student資料表進行備份。備份過程如下:
1、mysqldump會備份成.sql檔案,而mysqlhotcopy採用的是裸檔案備份。
2、mysqldump備份和恢復比mysqlhotcopy速度慢,因此不適合大檔案備份。
3、mysqldump支援myisam和innodb引擎,而mysqlhotcopy只支援myisam引擎。
4、mysqlhotcopy在mysql5.5(不含)以上的版本中不自帶。
5、mysqlhotcopy只能執行在資料庫所在的裝置上,而mysqldump可以執行在本地裝置上,也可以執行在遠端客戶端。
6、mysqldump和mysqlhotcopy在執行時,都會對資料庫進行上鎖操作。
7、mysqldump備份的恢復本質上是對.sql檔案中sql語句的執行,而mysqlhotcopy備份的回覆本質上是直接覆蓋。
如果我們採用mysqlhotcopy對資料庫進行備份,那麼在恢復時只需要將備份的資料覆蓋原有的資料即可。而如果對mysqldump匯出的.sql檔案進行恢復,則需要進行mysql的資料匯入。mysql資料庫的匯入,有兩種方式,一種是使用「
例如,要匯入exp.sql的備份資料,則可以執行命令:
mysql -uroot -proot < exp.sql
或者是登入進入資料庫後,執行:
source /root/exp.sql
MySQL匯入匯出備份
今天備份資料庫,在網上找了很多命令,發現都不行。於是自己嘗試下面的命令經過測試可以正確執行。匯出命令 mysqldump db mydb.dmp u root p 匯入命令 mysql uroot p dbtarget mydb.dmp這兩個命令既可以匯入匯出dmp格式,也可以匯入匯出sql格式,只...
MySQL 資料匯出與匯入(備份與還原)
mysql命令列匯出資料庫和資料 mysqldump u 使用者名稱 p 資料庫名 匯出的檔名 c db.sql 然後就會在c盤下面產生db.sql檔案。輸入後會提示輸入進入mysql的密碼 如果匯出單張表的話在資料庫名後面輸入表名即可 mysql命令列匯入資料庫和資料 輸入 mysql use 目...
MySQL資料的備份恢復與匯出匯入
資料的備份可以有兩種方式,邏輯備份和物理備份 mysql中用mysqldump來完成 mysqldump uroot p all database all.sql 所有庫 mysqldump uroot p test test.sql test庫 mysqldump uroot p test emp...