Mysql之mysqldump工具使用
阿新 • • 發佈:2021-01-10
mysqldump
官方文件:https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html
mysqldump客戶端是一個mysql自帶的邏輯備份工具,可以用匯出sql語句形式一次匯出多個數據庫進行備份。mysqldump還可以生成csv、xml或其他定界符文字。
檢視幫助
mysqldump --help
引數
-h: 主機 -P: 埠 -u: 使用者名稱 -p: 密碼 --databases: 指定資料庫名 --tables: 指定表名 -t: 不使用create table建表和drop table語句(--no-create-info) -d: 不匯出表資料(--no-data) -c:insert語句展示完整欄位(--complete-insert) --replace:使用replace into語句,當值(主鍵/唯一鍵)存在時刪除舊資料插入新資料 --insert-ignore:使用insert-ignore語句插入,當值(主鍵/唯一鍵)存在時忽略新資料保留舊資料 -w: 新增表條件(--where=name)
常用指令碼
mysqldump -u root -p --all-databases > D:/mysql.sql #備份所有資料庫 mysqldump -uroot -p123456 --databases db1 db2 db3 > D:/mysql.sql #備份多個數據庫 mysqldump -hhostname -Pport -uroot -p"123456" --databases dbname > D:/mysql.sql #遠端備份(遠端時,需要多加入-h:主機名,-P:埠號) #帶條件匯出指定表的部分資料 mysqldump -h222.222.221.197 -uroot -proot DBname TABLEname -t --complete-insert -w"sys_create > '2020-12-26 00:00:00'">export.sql #一次性匯出匯入資料庫(!!!慎用,兩個伺服器寫反了就完蛋了,因為匯出的sql中有drop table語句) mysqldump --host=h1 -uroot -proot --databases db1 |mysql --host=h2 -uroot -proot db2 #匯出為壓縮包,這樣會小很多,線上伺服器儘量用這個,推薦!!! mysqldump --opt -uroot -p123456 -h127.0.0.1 --databases dbname --ignore-table=dbname.table1 | gzip>/db_back/dbname_`date +%F`.zip