溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么使用mysql dump

發(fā)布時間:2021-11-11 16:39:31 來源:億速云 閱讀:944 作者:iii 欄目:MySQL數(shù)據(jù)庫

本篇內(nèi)容主要講解“怎么使用mysql dump”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么使用mysql dump”吧!

一、在客戶端配置mysql
mysqldump是一個客戶端工具,可以直接將數(shù)據(jù)備份到到本地。在客戶端配置mysql非常簡單,兩步走:
1、去服務(wù)端的bin目錄下直接將mysql.exe和mysqldump.exe復(fù)制到本地,比如我復(fù)制到C:\mysql下;
2、配置環(huán)境變量,將C:\mysql直接加入Path中就可以了。
二、mysqldump
1、導出某用戶下所有數(shù)據(jù)庫,在這里我導出root下所有的數(shù)據(jù)庫
mysqldump -uroot -p - -all-databases>C:\Users\QuJian\Desktop\a.dmp 然后會提示你輸入root的密碼,就會進入備份過程。
解釋:mysqldump是在操作系統(tǒng)界面下執(zhí)行的,這一點需要牢記。mysqldump是備份命令,告訴mysql我要導出數(shù)據(jù),-u表明連接哪一個導出用戶,-p用戶密碼,- -all-databases意思是導出此用戶下所有數(shù)據(jù)庫,>指出備份導出的位置,在這里我把他導出到C:\Users\QuJian\Desktop(桌面)了,備份文件名為a.dmp,這個后綴名不止可以是dmp,還可以是.text,.sql等等,后綴名沒啥要求,其實都是sql腳本文件。用Notepad++打開這個備份文件,會發(fā)現(xiàn)對于庫的備份文件,大概可以分為創(chuàng)建數(shù)據(jù)庫判斷語句---刪除表---創(chuàng)建表---鎖表---禁用索引---插入數(shù)據(jù)--啟用索引---解鎖表這幾部分。
2、導出用戶下某些數(shù)據(jù)庫
mysqldump -uroot -p - -databases oa tsshop>C:\Users\QuJian\Desktop\a.dmp
解釋:- -database指明導出哪個庫,這里導出了oa和tsshop兩個庫
3、導出某些表
mysqldump -uroot -p - -database tsshop - -tables himall_active>C:\Users\QuJian\Desktop\a.dmp
解釋:- -table參數(shù)表名導出哪些表,用Notepad++打開備份文件,可以發(fā)現(xiàn),備份文件由:刪除表--創(chuàng)建表--導入數(shù)據(jù)組成
4、帶條件的表導出
mysqldump -uroot -p - -database tsshop - -tables himall_active - -where='id=1'>C:\Users\QuJian\Desktop\a.dmp
mysqldump -uroot -p - -database tsshop - -tables himall_active - -where="name='張三'">C:\Users\QuJian\Desktop\a.dmp
解釋:- -where參數(shù)表明導出表的條件
5、只導出表結(jié)構(gòu)不導出具體數(shù)據(jù)
mysqldump -uroot -p - -databases tsshop - -no-data>C:\Users\QuJian\Desktop\a.dmp
解釋:- -no-data參數(shù)指定只導出表結(jié)構(gòu),不導出表數(shù)據(jù)
6、注意,我們是在客戶端操作的,那么,對于前面的每一個導出操作,不論是庫還是表,我們都要指出源服務(wù)器地址,使用參數(shù)- -host
mysqldump -uroot -p - -host=10.0.0.47 - -databases tsshop - -no-data>C:\Users\QuJian\Desktop\a.dmp
7、導出存儲過程和自定義函數(shù)
mysqldump -uroot -p - -host=10.0.0.47 - -databases tsshop - -routines>C:\Users\QuJian\Desktop\a.dmp
解釋:- -routines參數(shù)指出需要導出存儲過程和自定義函數(shù),除了- -all-databases會默認備份存儲過程和自定義函數(shù),單獨備份數(shù)據(jù)庫,表是不會帶存儲過程和自定義函數(shù)的。
8、導出事件
mysqldump -uroot -p - -host=10.0.0.47 - -databases tsshop- -routines - -events>C:\Users\QuJian\Desktop\a.dmp
解釋:- -events參數(shù)表示將事件也導出來,除了- -all-databases會默認備份事件,單獨備份數(shù)據(jù)庫,表是不會帶事件的
9、- -add-drop-database
mysqldump -uroot -p - -host=10.0.0.47 - -databases tsshop- -routines - -events  - -add-drop-database>C:\Users\QuJian\Desktop\a.dmp
解釋:- -add-drop-database的意思是在生成的sql語句中添加drop database語句,這個用于此用戶下本來就有這個數(shù)據(jù)庫,在導入之前先刪除同名數(shù)據(jù)庫,再新建立數(shù)據(jù)庫。不過我感覺沒啥用,因為如果不聲明這個參數(shù),sql語句中就不會創(chuàng)建同名數(shù)據(jù)庫,只用刪除表重建表就可以了,照樣可以導入數(shù)據(jù)。
10、- -add-drop-table
mysqldump -uroot -p - -host=10.0.0.47 - -databases tsshop- -routines - -events - -add-drop-table>C:\Users\QuJian\Desktop\a.dmp
解釋: - -add-drop-table意思是在導入表之前先刪除同名表,這個參數(shù)是一個默認參數(shù),如果想取消這個默認參數(shù)可以使用- -skip-add-drop-table
11、- -add-locks
mysqldump -uroot -p - -host=10.0.0.47 - -databases tsshop- -routines - -events - -add-locks>C:\Users\QuJian\Desktop\a.dmp
解釋:- -add-locks意思是在導出每個表之前加鎖,導出之后再釋放鎖,這個也是默認打開的,取消這個參數(shù)使用- -skip-add-locks
12、- -comments
mysqldump -uroot -p - -host=10.0.0.47 - -databases tsshop- -routines - -events - -comments>C:\Users\QuJian\Desktop\a.dmp
解釋:- -comments意思是導出注釋信息,取消可以使用- -skip-comments
13、- -force
mysqldump -uroot -p - -host=10.0.0.47 - -databases tsshop- -routines - -events - -force>C:\Users\QuJian\Desktop\a.dmp
解釋:- -force意思是忽略導出中的sql錯誤
14、- -triggers
mysqldump -uroot -p - -host=10.0.0.47 - -databases tsshop- -routines - -events - -triggers>C:\Users\QuJian\Desktop\a.dmp
解釋:- -triggers意思是導出觸發(fā)器,此選項默認開啟,不像- -routines - -events 不會默認開啟,取消使用- -skip-triggers
三、導入數(shù)據(jù)
導入方式有兩種:
1、直接在操作系統(tǒng)級別上進行導入操作
導入整個庫:mysql -h 10.0.0.44 -uroot -p<C:\Users\QuJian\Desktop\a.dmp
解釋:-h是目標數(shù)據(jù)庫的地址,意思是將a.dmp導入到10.0.0.44這個庫
在這里,我需要特別說一下字符集,因為10.0.44這個數(shù)據(jù)庫是我新建立的,default-character-set和character-set-server都是utf8,但是導出數(shù)據(jù)由于存在emoji字符,所以數(shù)據(jù)庫的字符集是utf8mb4,這樣在導入的時候就會報字符集的錯誤,因此需要這樣解決,首先,修改目標庫的字符集,將其修改為utf8的超集utf8mb4,然后再導入數(shù)據(jù),導入數(shù)據(jù)的時候需要加參數(shù)- -default-character-set=utf8mb4,整個導入命令就變成了:
mysql -h 10.0.0.44 -uroot -p - -default-character-set=utf8mb4<C:\Users\QuJian\Desktop\a.dmp
導入某張表:mysql -h 10.0.0.44 -uroot -p  - -default-character-set=utf8mb4 tsshop<C:\Users\QuJian\Desktop\a.dmp
2、登錄數(shù)據(jù)庫執(zhí)行導入
首先登錄數(shù)據(jù)庫:
mysql -h 10.0.0.44 -uroot -p - -default-character-set=utf8mb4
然后進行導入操作。
導入整個庫:
mysql>source C:\Users\QuJian\Desktop\a.dmp;
將某張表導入tsshop這個庫:
mysql>use tsshop;
mysql>source C:\Users\QuJian\Desktop\a.dmp;

到此,相信大家對“怎么使用mysql dump”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI