1. 程式人生 > >MySQL mysqldump數據導出基本操作

MySQL mysqldump數據導出基本操作

gpo 系統 create 基本操作 參考 mysql數據庫 OS ref esp

mysqldump

mysqldump命令是mysql數據庫中備份工具,用於將MySQL服務器中的數據庫以標準的sql語言的方式導出,並保存到文件中。

選項

--all-databases, -A:導出MySQL服務器上的所有數據庫;
--all-tablespaces, -Y:導出某數據庫的所有表空間
--add-drop-database:在每個創建數據庫語句前添加刪除數據庫的語句;
--add-drop-table:在每個創建數據庫表語句前添加刪除數據庫表的語句;(默認添加drop語句,使用--skip-add-drop-table取消選項)
--add-locks:導出數據庫表時鎖定數據庫表;(默認添加LOCK語句,使用--skip-add-locks取消選項)
--comments:添加註釋信息; --compact:壓縮模式,產生更少的輸出; --complete-insert:輸出完成的插入語句; --databases, -B:指定要備份的數據庫,參數後面所有名字參量都被看作數據庫名; --default-character-set:指定默認字符集; --force:當出現錯誤時仍然繼續備份操作; --host:指定要備份數據庫的服務器; --lock-tables:備份前,鎖定所有數據庫表; --no-create-db:禁止生成創建數據庫語句; --no-create-info:禁止生成創建數據庫庫表語句; --password:連接MySQL服務器的密碼;
--port:MySQL服務器的端口號; --user:連接MySQL服務器的用戶名。

常用語句

導出所有數據庫(包括系統數據庫)
mysqldump -u用戶名 -p密碼 --all-databases > 導出的文件名
mysqldump -uroot -proot --all-databases > all.sql
導出整個數據庫(可一次多個)
mysqldump -u用戶名 -p密碼 --databases 數據庫1 數據庫2 > 導出的文件名
mysqldump -uroot -proot --databases databas1 database2 > databases.sql
導出一個表(可一次多個,但只能針對一個數據庫)
mysqldump -u用戶名 -p密碼 --databases 數據庫 --tables 表1 表2 > 導出的文件名
mysqldump -uroot -proot --databases db1 --tables t1 t2 > tables.sql
按條件導出(條件相同可一次多個)
mysqldump -u用戶名 -p密碼 --databases 數據庫 --tables 表1 表2 --where=‘條件‘ > 導出的文件名
mysqldump -uroot -proot --databases db1 --tables a1 --where=‘id=1‘  > tables.sql
只導出表結構不導出數據(可一次多個)
mysqldump -u用戶名 -p密碼 --no-data --databases 數據庫1 數據庫2 > 導出的文件名
mysqldump -uroot -proot --no-data --databases db1 > tables.sql
跨服務器導出導入數據
mysqldump --host=h1 -uroot -proot --databases db1 |mysql --host=h2 -uroot -proot --databases db2

將h1服務器中的db1數據庫的所有數據導入到h2中的db2數據庫中,db2的數據庫必須存在否則會報錯

mysqldump --host=192.168.80.137 -uroot -proot -C --databases test |mysql --host=192.168.80.133 -uroot -proot  --databases test

加上-C參數可以啟用壓縮傳遞

更詳細內容請可參考:https://www.cnblogs.com/chenmh/p/5300370.html

MySQL mysqldump數據導出基本操作