您好,登錄后才能下訂單哦!
這篇文章主要介紹MySQL如何導入與導出備份,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
對于現代互聯網公司而言,存儲在服務器數據庫中的數據,逐步成為企業和公司的命脈,對企業和公司的生存發展具有十分重大的影響。為了保證數據庫數據存儲安全,確保不會因為誤操作和不可抗力而破壞,通常我們都會對數據庫中的數據進行備份。對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數據庫中student表中的所有數據,導出pzz數據庫中表結構相關數據以及導出pzz數據庫中除了表結構之外的實際數據。
使用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數據庫的導入,有兩種方式,一種是使用“<”符號,直接將.sql文件中的信息導入MySQL數據庫,第二種是在登入數據庫后,使用source命令導入數據。
例如,要導入exp.sql的備份數據,則可以執行命令:
mysql -uroot -proot < exp.sql
或者是登錄進入數據庫后,執行:
source /root/exp.sql
以上是“MySQL如何導入與導出備份”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。