mysqldump導出--數據+結構+(函數+存儲過程)

mysqldump--導出工具

#導出某個數據庫--結構+數據
shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt db_name |gzip -9 > /db_bakup/db_name.gz

#導出某個數據庫的表--結構+數據+函數+存儲過程
shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt -R db_name |gzip -9 > /db_backup/db_name.gz

#導出多個數據庫
shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt --databases db_name1 db_name2 db_name3 |gzip -9 > /db_backup/mul_db.gz 

#導出所有的數據庫
shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt --all-databases |gzip -9 > /db_bak/all_db.gz

#導出某個數據庫的結構
shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt --no-data db_name|gzip -9 > /db_bak/db_name.strcut.gz

#導出某個數據庫的數據
shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt --no-create-info db_name|gzip -9 > /db_bak/db_naem.data.gz

#導出某個數據庫的某張表
shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt db_name tbl_name |gzip -9 > /db_bak/db_name.tal_name.gz

# 導出某個數據庫的某張表的結構
shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt --no-data db_name tal_name | gzip -9 > /db_bak/db_name.tal_name.struct.gz

#導出某個數據庫的某張表的數據
shell>mysqldump -h192.168.161.124 -uroot -pxxxxxx --opt --no-create-info db_name tbl_name | gzip -9 > /db_bak/db_name.tbl_name.data.gz

##--opt==--add-drop-table + --add-locks + --create-options + --disables-keys + --extended-insert + --lock-tables + --quick + --set+charset
##默認使用--opt,--skip-opt禁用--opt參數
--------------------------------------------------------------------------------
 
表結構等已經在目標數據庫中存在,不想拷貝數據庫過去,MySQL的存儲過程導出和導入,Mysqldump工具可以實現,具體用法爲:
 ?[root@localhost bin]# mysqldump -uroot -p -hlocalhost -P3306 -n -d -t -R DBName > procedure_name.sql
參數說明:
-n: --no-create-db
-d: --no-data
-t: --no-create-info
-R: --routines Dump stored routines (functions and procedures)

Mysqldump是客戶端工具用來備份數據庫或在不同數據庫之間進行數據遷移。備份內容包含創建活裝載表的SQL語句:
主要參數介紹:
1.連接選項
-u,--user=name
-p,--password=name
-h,--host=name
-P,--port=#
2.輸出內容選項
--add-drop-database
--add-drop-table
-n;--no-create-db
-d;--no-data
-t;--no-create-info
3.輸出格式選項
--compact
-c --complete-insert
-T(指定數據表中的數據備份爲單純的數據文件和建表SQL兩個文件)
注意:xx.sql建表文件是以linux的root用戶創建,而xx.txt文件則是一linux的mysql用戶創建,因此這兩個文件的存放路徑一定要保證mysql用戶有讀寫創建文件的權限。
--fields-terminated-by=name(域分隔符)
--fields-enclosed-by=name(域引用符)
--fields-optionally-enclosed-by=name(域引用可選字符)
--fields-escaped-by=name(轉義字符)
4.字符集選項
--default--character-set=xx
5.其他選項
-F --flush-logs(備份前刷新日誌)
-l --lock-tables(給所有的表加讀鎖)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章