您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么使用mysql dump”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么使用mysql dump”吧!
一、在客戶端配置mysql
mysqldump是一個客戶端工具,可以直接將數據備份到到本地。在客戶端配置mysql非常簡單,兩步走:
1、去服務端的bin目錄下直接將mysql.exe和mysqldump.exe復制到本地,比如我復制到C:\mysql下;
2、配置環境變量,將C:\mysql直接加入Path中就可以了。
二、mysqldump
1、導出某用戶下所有數據庫,在這里我導出root下所有的數據庫
mysqldump -uroot -p - -all-databases>C:\Users\QuJian\Desktop\a.dmp 然后會提示你輸入root的密碼,就會進入備份過程。
解釋:mysqldump是在操作系統界面下執行的,這一點需要牢記。mysqldump是備份命令,告訴mysql我要導出數據,-u表明連接哪一個導出用戶,-p用戶密碼,- -all-databases意思是導出此用戶下所有數據庫,>指出備份導出的位置,在這里我把他導出到C:\Users\QuJian\Desktop(桌面)了,備份文件名為a.dmp,這個后綴名不止可以是dmp,還可以是.text,.sql等等,后綴名沒啥要求,其實都是sql腳本文件。用Notepad++打開這個備份文件,會發現對于庫的備份文件,大概可以分為創建數據庫判斷語句---刪除表---創建表---鎖表---禁用索引---插入數據--啟用索引---解鎖表這幾部分。
2、導出用戶下某些數據庫
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參數表名導出哪些表,用Notepad++打開備份文件,可以發現,備份文件由:刪除表--創建表--導入數據組成
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參數表明導出表的條件
5、只導出表結構不導出具體數據
mysqldump -uroot -p - -databases tsshop - -no-data>C:\Users\QuJian\Desktop\a.dmp
解釋:- -no-data參數指定只導出表結構,不導出表數據
6、注意,我們是在客戶端操作的,那么,對于前面的每一個導出操作,不論是庫還是表,我們都要指出源服務器地址,使用參數- -host
mysqldump -uroot -p - -host=10.0.0.47 - -databases tsshop - -no-data>C:\Users\QuJian\Desktop\a.dmp
7、導出存儲過程和自定義函數
mysqldump -uroot -p - -host=10.0.0.47 - -databases tsshop - -routines>C:\Users\QuJian\Desktop\a.dmp
解釋:- -routines參數指出需要導出存儲過程和自定義函數,除了- -all-databases會默認備份存儲過程和自定義函數,單獨備份數據庫,表是不會帶存儲過程和自定義函數的。
8、導出事件
mysqldump -uroot -p - -host=10.0.0.47 - -databases tsshop- -routines - -events>C:\Users\QuJian\Desktop\a.dmp
解釋:- -events參數表示將事件也導出來,除了- -all-databases會默認備份事件,單獨備份數據庫,表是不會帶事件的
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語句,這個用于此用戶下本來就有這個數據庫,在導入之前先刪除同名數據庫,再新建立數據庫。不過我感覺沒啥用,因為如果不聲明這個參數,sql語句中就不會創建同名數據庫,只用刪除表重建表就可以了,照樣可以導入數據。
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意思是在導入表之前先刪除同名表,這個參數是一個默認參數,如果想取消這個默認參數可以使用- -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意思是在導出每個表之前加鎖,導出之后再釋放鎖,這個也是默認打開的,取消這個參數使用- -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意思是導出觸發器,此選項默認開啟,不像- -routines - -events 不會默認開啟,取消使用- -skip-triggers
三、導入數據
導入方式有兩種:
1、直接在操作系統級別上進行導入操作
導入整個庫:mysql -h 10.0.0.44 -uroot -p<C:\Users\QuJian\Desktop\a.dmp
解釋:-h是目標數據庫的地址,意思是將a.dmp導入到10.0.0.44這個庫
在這里,我需要特別說一下字符集,因為10.0.44這個數據庫是我新建立的,default-character-set和character-set-server都是utf8,但是導出數據由于存在emoji字符,所以數據庫的字符集是utf8mb4,這樣在導入的時候就會報字符集的錯誤,因此需要這樣解決,首先,修改目標庫的字符集,將其修改為utf8的超集utf8mb4,然后再導入數據,導入數據的時候需要加參數- -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、登錄數據庫執行導入
首先登錄數據庫:
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”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。