中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

mysql怎么備份一張表,mysql備份表數(shù)據(jù)語句

如何只備份一張數(shù)據(jù)庫表

mysqldump -uroot --password=密碼 --opt?數(shù)據(jù)庫名 表名 備份的名稱

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、網(wǎng)站空間、營銷軟件、網(wǎng)站建設(shè)、略陽網(wǎng)站維護(hù)、網(wǎng)站推廣。

例子:mysqldump -uroot --password=psw --opt?VOD recfile recfile.sql

備份數(shù)據(jù)庫VOD下的recfile表,如果只想保留表的結(jié)構(gòu)而不帶數(shù)據(jù)

mysqldump -uroot --password=psw --opt?VOD recfile -d recfile.sql

擴(kuò)展資料:

Sqlserver備份語句

1、完整備份

Backup Database NorthwindCS

To disk='G:\Backup\NorthwindCS_Full_20070908.bak'

2、差異備份

Backup Database NorthwindCS

To disk='G:\Backup\NorthwindCS_Diff_20070908.bak'

With Differential

3、日志備份 ,默認(rèn)截?cái)嗳罩?/p>

Backup Log NorthwindCS

To disk='G:\Backup\NorthwindCS_Log_20070908.bak'

4、日志備份, 不截?cái)嗳罩?/p>

Backup Log NorthwindCS

To disk='G:\Backup\NorthwindCS_Log_20070908.bak'

With No_Truncate

5、文件備份

Exec Sp_Helpdb NorthwindCS --查看數(shù)據(jù)文件

Backup Database NorthwindCS

File='NorthwindCS' --數(shù)據(jù)文件的邏輯名

To disk='G:\Backup\NorthwindCS_File_20070908.bak'

MySQL全備份如何只恢復(fù)一個(gè)庫或者一個(gè)表?

在實(shí)際工作中,一個(gè)MySQL實(shí)例中可能有多個(gè)database。而我們備份時(shí),通常采用完全備份,將所有database都備份到一個(gè)文件中。

但是,偶爾會(huì)遇到只恢復(fù)一個(gè)database或者一個(gè)表的情況。怎么解決呢?科多大數(shù)據(jù)帶你來看看。

一、利用全備恢復(fù)一個(gè)庫 (database) 的數(shù)據(jù)

案例:朋友在群里問, MySQL全庫備份。如何只恢復(fù)一個(gè)庫?

1、采用–one-database 選項(xiàng)。不建議使用該方式,經(jīng)常出現(xiàn)問題。

# mysql -uroot -pxx -D db1 -o

2、從全備份文件中將需要的庫的建表語句和INSERT數(shù)據(jù)拿出來,然后再導(dǎo)入

# sed -n '/^-- Current Database: `db1`/,/^-- Current Database: `/p' all.dmp db1.sql

# mysql -uroot -pxx -D db1

二、利用全備恢復(fù)一張表 (table) 的數(shù)據(jù)

生產(chǎn)中遇到開發(fā)同事更新表時(shí)未加上where條件,造稱 order_status 列所有數(shù)據(jù)都被更新為0.

通常,mysqldump對(duì)全庫進(jìn)行備份?;謴?fù)時(shí)如果恢復(fù)全庫,太耗時(shí)間又沒有必要。所以,我們只恢復(fù)想要的表即可。

mysqldump備份中,既有表結(jié)構(gòu),又有INSERT INTO語句包含數(shù)據(jù)。所以獲得者兩部分內(nèi)容即可。

1、獲得表結(jié)構(gòu)

# sed -e'/./{H;$!d;}' -e 'x;/CREATE TABLE `ecs_ugo_order_info`/!d;q' mysqldump_2017-05-23.sql

2、獲得INSERT INTO 語句,用于數(shù)據(jù)的恢復(fù)

# grep -i 'INSERT INTO `ecs_ugo_order_info`' mysqldump_2017-05-23.sql data.sql

3、根據(jù)得到的表結(jié)構(gòu)創(chuàng)建表,并導(dǎo)入數(shù)據(jù)

mysql -uroot -pxxx xx

4、拼接update語句

mysql select concat('update xx.ecs_ugo_order_info set order_status=',order_status,' where order_id=',order_id,';') from ecs_ugo_order_info into outfile '/tmp/ecs_ugo_order_info_rercovery.sql';

結(jié)果如下:

1.update xx.ecs_ugo_order_info set order_status=6 where order_id=3254778;

2.update xx.ecs_ugo_order_info set order_status=6 where order_id=3254824;

3.update xx.ecs_ugo_order_info set order_status=6 where order_id=3254870;

5、在生產(chǎn)庫中將order_status恢復(fù)成正常值

# mysql -uroot -pxxx xx /tmp/ecs_ugo_order_info_rercovery.sql

mysql如何備份數(shù)據(jù)

1.1、 mysqldump命令備份數(shù)據(jù)

在MySQL中提供了命令行導(dǎo)出數(shù)據(jù)庫數(shù)據(jù)以及文件的一種方便的工具mysqldump,我們可以通過命令行直接實(shí)現(xiàn)數(shù)據(jù)庫內(nèi)容的導(dǎo)出dump,首先我們簡單了解一下mysqldump命令用法:

#MySQLdump常用

mysqldump -u root -p --databases 數(shù)據(jù)庫1 數(shù)據(jù)庫2 xxx.sql

1.2、 mysqldump常用操作實(shí)例

1.備份全部數(shù)據(jù)庫的數(shù)據(jù)和結(jié)構(gòu)

mysqldump -uroot -p123456 -A /data/mysqlDump/mydb.sql

2.備份全部數(shù)據(jù)庫的結(jié)構(gòu)(加 -d 參數(shù))

mysqldump -uroot -p123456 -A -d /data/mysqlDump/mydb.sql

3.備份全部數(shù)據(jù)庫的數(shù)據(jù)(加 -t 參數(shù))

mysqldump -uroot -p123456 -A -t /data/mysqlDump/mydb.sql

4.備份單個(gè)數(shù)據(jù)庫的數(shù)據(jù)和結(jié)構(gòu)(,數(shù)據(jù)庫名mydb)

mysqldump -uroot-p123456 mydb /data/mysqlDump/mydb.sql

5.備份單個(gè)數(shù)據(jù)庫的結(jié)構(gòu)

mysqldump -uroot -p123456 mydb -d /data/mysqlDump/mydb.sql

6.備份單個(gè)數(shù)據(jù)庫的數(shù)據(jù)

mysqldump -uroot -p123456 mydb -t /data/mysqlDump/mydb.sql

7.備份多個(gè)表的數(shù)據(jù)和結(jié)構(gòu)(數(shù)據(jù),結(jié)構(gòu)的單獨(dú)備份方法與上同)

mysqldump -uroot -p123456 mydb t1 t2 /data/mysqlDump/mydb.sql

8.一次備份多個(gè)數(shù)據(jù)庫

mysqldump -uroot -p123456 --databases db1 db2 /data/mysqlDump/mydb.sql

mysql到底如何備份

數(shù)據(jù)備份是數(shù)據(jù)容災(zāi)的最后一道防線,即便有著兩地三中心的架構(gòu),備份也依然重要。如果備份出問題,備份時(shí)影響了交易業(yè)務(wù),備份數(shù)據(jù)無法恢復(fù),這些也是企業(yè)難以承受的。所以選擇合適的備份工具尤為重要。

每個(gè)企業(yè)級(jí)數(shù)據(jù)庫都會(huì)有配套的備份工具,MEB(MySQL Enterprise Backup)就是MySQL企業(yè)版中非常重要的工具之一,是為企業(yè)級(jí)客戶提供的數(shù)據(jù)備份方案。

Xtrabackup一直作為MEB 開源版?zhèn)涮ザ嬖?,從MySQL 8.0開始情況可能會(huì)變得有所不同。

在 MySQL 8.0的Backup Lock、Redo Log Archiving、Page Tracking等新特性的加持下,MEB備份/恢復(fù)體驗(yàn)會(huì)更好,目前xtrabackup還不支持這些特性。

MySQL 企業(yè)版還有哪些功能?

特性1:Backup Lock

8.0之前使用xtrabackup或MEB做物理備份,為了保證備份時(shí)InnoDB引擎表與其他引擎數(shù)據(jù)文件、及binlog日志的一致性會(huì)上全局讀鎖,再拷貝非InnoDB文件,這期間MySQL會(huì)變成只讀,數(shù)據(jù)無法寫入。表數(shù)量越多,可能加上時(shí)間越長,如果使用的xtrabackup 不小心沒加rsync參數(shù),逐個(gè)拷貝frm文件,鎖定時(shí)間會(huì)更長,對(duì)業(yè)務(wù)影響較大。

我曾遇到過部署在虛擬機(jī)的實(shí)例有12000多張表,當(dāng)時(shí)使用的xtrabackup,備份腳本中沒加rsync參數(shù),結(jié)果鎖了十幾分鐘,而MEB就沒有這樣的問題。

MySQL 8.0支持輕量級(jí)備份鎖 LOCK INSTANCE FOR BACKUP,數(shù)據(jù)字典也重構(gòu)了由InnoDB存儲(chǔ)。若不創(chuàng)建非InnoDB表,MEB默認(rèn)使用備份鎖獲取binlog日志一致性位置,并阻止DDL操作,但不影響DML操作。

只有InnoDB表,僅上備份鎖

請(qǐng)點(diǎn)擊輸入圖片描述

若有非InnoDB表,上全局鎖

請(qǐng)點(diǎn)擊輸入圖片描述

特性2:Redo Log Archiving

MEB能做到在線熱備,備份時(shí)不影響數(shù)據(jù)庫讀寫,這是利用了InnoDB事務(wù)日志,在備份期間持續(xù)監(jiān)視r(shí)edo log的變化,讀取增量變化,寫入到ibbackup_logfile,也就不需要上鎖來保障備份一致性。(對(duì)非InnoDB的文件需要上讀鎖拷貝)

如果備份期間數(shù)據(jù)庫寫入負(fù)載特別大,而寫入ibbackup_logfile速度較慢,redo log size也不大,很可能會(huì)出現(xiàn)ibbackup_logfile的寫入速度跟不上redo log記錄生成速度,redo log 空間不夠時(shí)需要覆寫日志文件,那么來不及寫入ibbackup_logfile的記錄會(huì)丟失,導(dǎo)致備份失敗。

MEB 4.1對(duì)此做了優(yōu)化,將redo log處理線程拆分成多線程分工合作,提高處理redo log的效率,降低了redo log覆寫造成備份失敗的概率,但redo log新增速度和ibbackup_logfile寫入速度懸殊太大,問題依然會(huì)發(fā)生。

MySQL 8.0.17支持了redo log archiving 徹底解決了此問題,備份前設(shè)置innodb_redo_log_archive_dirs,指定redo log歸檔目錄。MEB備份時(shí)自動(dòng)開啟日志歸檔,當(dāng)checkpoint時(shí)會(huì)將舊記錄歸檔到此目錄,后續(xù)從歸檔文件中讀取redo日志記錄,避免了覆寫可能導(dǎo)致的redo記錄丟失。

請(qǐng)點(diǎn)擊輸入圖片描述

注意:innodb_redo_log_archive_dirs 不能在數(shù)據(jù)目錄下,目錄權(quán)限要求是700

特性3:Page Tracking

Page Tracking 是為優(yōu)化增量備份效率,減少不必要的數(shù)據(jù)頁掃描。

增量備份當(dāng)前有3種掃描模式:

page-track:利用LSN精確跟蹤上次備份之后被修改頁面,僅復(fù)制這些頁面,效率最快。

optimistic:掃描上次備份之后被修改的InnoDB 數(shù)據(jù)文件中,找出并拷貝修改的頁面。依賴系統(tǒng)時(shí)間,使用存在限制。

full-scan:掃描所有InnoDB數(shù)據(jù)文件,找出并拷貝自上次備份之后修改的頁面,效率最慢

1、利用page-track增量備份,需先安裝備份組件

mysql INSTALL COMPONENT "";

2、在全備前開啟page-track

SELECT mysqlbackup_page_track_set(true);

3、全備之后,做增量備份時(shí)指定若滿足page tracking條件,默認(rèn)會(huì)使用page-track模式,否則會(huì)使用full-scan模式,也可以指定--incremental=page-track。

mysqlbackup --incremental-backup-dir=backup_incr --trace=3 --incremental=page-track --incremental-base=history:last_full_backup backup

incremental-base有3種選擇

last_backup:基于前一次備份做增備,前一次備份可能是增備,也可能是全備。這種方式全備之間可能會(huì)有多個(gè)增備,每次增量可能比較小,但恢復(fù)時(shí)需要逐個(gè)合并。

last_full_backup:基于前一次全備做增備。這種方式增備會(huì)越往后體積可能越大,但恢復(fù)時(shí)只需要合并最后一次增量備份。

dir:基于前一次的備份目錄,前一次備份可能是增備,也可能是全備。

測(cè)試對(duì)比full-scan 和page-track ,在變更頁小于總體50%的情況下 ,備份效率至少能有1倍的速度提升。

page-track 模式 磁盤讀寫均衡,說明讀寫的都是修改頁面。

請(qǐng)點(diǎn)擊輸入圖片描述

full-scan模式 磁盤讀寫差別很大,說明讀了很多未修改的頁面。

請(qǐng)點(diǎn)擊輸入圖片描述

怎么備份mysql數(shù)據(jù)庫中一張表

如果tablea?tableb結(jié)構(gòu)相同,如下:

insert?into?`tableb`?select?*?from?`tablea`

標(biāo)題名稱:mysql怎么備份一張表,mysql備份表數(shù)據(jù)語句
標(biāo)題URL:http://www.rwnh.cn/article32/dssdjsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站營銷搜索引擎優(yōu)化、域名注冊(cè)網(wǎng)站設(shè)計(jì)、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司
肥城市| 扬中市| 海门市| 印江| 丽水市| 平利县| 合山市| 塘沽区| 五莲县| 故城县| 修水县| 麦盖提县| 山阳县| 孟津县| 龙川县| 浏阳市| 应用必备| 南丹县| 贵州省| 城固县| 镇安县| 宜宾市| 河池市| 泾阳县| 祁东县| 共和县| 长武县| 松溪县| 城口县| 莱州市| 横峰县| 巴林左旗| 巫山县| 积石山| 久治县| 白水县| 西峡县| 贺兰县| 溆浦县| 陈巴尔虎旗| 留坝县|