MySQL mysqldump數據導出基本操作
阿新 • • 發佈:2018-03-06
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數據導出基本操作