人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

MySQL數(shù)據(jù)備份之mysqldump的使用方法

發(fā)布日期:2021-12-07 17:37 | 文章來源:gibhub

?一、mysqldump 簡介

mysqldump 是 MySQL 自帶的邏輯備份工具。MySQLdump是一個數(shù)據(jù)庫邏輯備份程序,可以使用對一個或者多個mysql數(shù)據(jù)庫進(jìn)行備份或者將數(shù)據(jù)傳輸?shù)狡渌鹠ysql服務(wù)器。執(zhí)行mysqldump時需要賬戶擁有select權(quán)限才可以進(jìn)行備份數(shù)據(jù)表,show view權(quán)限用于備份視圖,trigger權(quán)限用于備份觸發(fā)器等。

mysqldump不是大數(shù)據(jù)備份的解決方案,因為mysqldump需要通過重建sql語句來實現(xiàn)備份功能,對于數(shù)據(jù)量比較大的數(shù)據(jù)庫備份與還原操作,速度比較慢,打開mysqldump備份會發(fā)現(xiàn)里面其實就是數(shù)據(jù)庫sql語句的重現(xiàn)。

它的備份原理是通過協(xié)議連接到 MySQL 數(shù)據(jù)庫,將需要備份的數(shù)據(jù)查詢出來,將查詢出的數(shù)據(jù)轉(zhuǎn)換成對應(yīng)的insert 語句,當(dāng)我們需要還原這些數(shù)據(jù)時,只要執(zhí)行這些 insert 語句,即可將對應(yīng)的數(shù)據(jù)還原。

二、備份命令

2.1 命令格式

mysqldump [選項] 數(shù)據(jù)庫名 [表名] > 腳本名

mysqldump [選項] --數(shù)據(jù)庫名 [選項 表名] > 腳本名

mysqldump [選項] --all-databases [選項]? > 腳本名

2.2 選項說明

參數(shù)名 縮寫 含義
--host -h 服務(wù)器IP地址
--port -P 服務(wù)器端口號
--user -u MySQL 用戶名
--pasword -p MySQL 密碼
--databases 指定要備份的數(shù)據(jù)庫
--all-databases 備份mysql服務(wù)器上的所有數(shù)據(jù)庫
--compact 壓縮模式,產(chǎn)生更少的輸出
--comments 添加注釋信息
--complete-insert 輸出完成的插入語句
--lock-tables 備份前,鎖定所有數(shù)據(jù)庫表
--no-create-db/--no-create-info 禁止生成創(chuàng)建數(shù)據(jù)庫語句
--force 當(dāng)出現(xiàn)錯誤時仍然繼續(xù)備份操作
--default-character-set 指定默認(rèn)字符集
--add-locks 備份數(shù)據(jù)庫表時鎖定數(shù)據(jù)庫表

2.3 實例

備份所有數(shù)據(jù)庫:

mysqldump -uroot -p --all-databases > /backup/mysqldump/all.db

備份指定數(shù)據(jù)庫:

mysqldump -uroot -p test > /backup/mysqldump/test.db

備份指定數(shù)據(jù)庫指定表(多個表以空格間隔)

mysqldump -uroot -p  mysql db event > /backup/mysqldump/2table.db

備份指定數(shù)據(jù)庫排除某些表

mysqldump -uroot -p test --ignore-table=test.t1 --ignore-table=test.t2 > /backup/mysqldump/test2.db

三、還原命令

3.1 系統(tǒng)行命令

mysqladmin -uroot -p create db_name 
mysql -uroot -p  db_name < /backup/mysqldump/db_name.db

注:在導(dǎo)入備份數(shù)據(jù)庫前,db_name如果沒有,是需要創(chuàng)建的; 而且與db_name.db中數(shù)據(jù)庫名是一樣的才可以導(dǎo)入。

3.2 soure 方法

mysql > use db_name
mysql > source /backup/mysqldump/db_name.db

附:常用命令

mysqldump -u root -p --all-databases > D:/mysql.sql  #備份所有數(shù)據(jù)庫
mysqldump -uroot -p123456 --databases db1 db2 db3 > D:/mysql.sql  #備份多個數(shù)據(jù)庫
mysqldump -hhostname -Pport -uroot -p"123456" --databases dbname > D:/mysql.sql   #遠(yuǎn)程備份(遠(yuǎn)程時,需要多加入-h:主機(jī)名,-P:端口號)

#帶條件導(dǎo)出指定表的部分?jǐn)?shù)據(jù),注意mysqldump導(dǎo)出時時區(qū)默認(rèn)設(shè)置為+00:00,w后面的timestamp時間也會被認(rèn)為是+00:00時區(qū)的數(shù)據(jù),從而導(dǎo)致數(shù)據(jù)有問題
mysqldump -h222.222.221.197 -uroot -proot DBname TABLEname -t --complete-insert --skip-tz-utc -w"sys_create > '2020-12-25 16:00:00'">export.sql   

#一次性導(dǎo)出導(dǎo)入數(shù)據(jù)庫(!!!慎用,兩個服務(wù)器寫反了就完蛋了,因為導(dǎo)出的sql中有drop table語句)
mysqldump --host=h1 -uroot -proot --databases db1 |mysql --host=h2 -uroot -proot db2 

#導(dǎo)出為壓縮包,這樣會小很多,線上服務(wù)器盡量用這個,推薦?。?!
mysqldump --opt -uroot -p123456 -h127.0.0.1 --databases dbname --ignore-table=dbname.table1 | gzip>/db_back/dbname_`date +%F`.zip    

總結(jié)

到此這篇關(guān)于MySQL數(shù)據(jù)備份之mysqldump使用的文章就介紹到這了,更多相關(guān)MySQL mysqldump的使用內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部