真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql數(shù)據(jù)怎么備份 mysql怎么備份數(shù)據(jù)庫

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

MySQL數(shù)據(jù)庫備份與還原

黃浦網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司成立與2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。

備份和恢復(fù)數(shù)據(jù)

生成SQL腳本

在控制臺使用mysqldump命令可以用來生成指定數(shù)據(jù)庫的腳本文本,但要注意,腳本文本中只包含數(shù)據(jù)庫的內(nèi)容,而不會存在創(chuàng)建數(shù)據(jù)庫的語句!所以在恢復(fù)數(shù)據(jù)時,還需要自已手動創(chuàng)建一個數(shù)據(jù)庫之后再去恢復(fù)數(shù)據(jù)。

mysqldump –u用戶名 –p密碼 數(shù)據(jù)庫名生成的腳本文件路徑

現(xiàn)在可以在C盤下找到mydb1.sql文件了!

注意,mysqldump命令是在Windows控制臺下執(zhí)行,無需登錄mysql?。?!

執(zhí)行SQL腳本

執(zhí)行SQL腳本需要登錄mysql,然后進(jìn)入指定數(shù)據(jù)庫,才可以執(zhí)行SQL腳本!??!

執(zhí)行SQL腳本不只是用來恢復(fù)數(shù)據(jù)庫,也可以在平時編寫SQL腳本,然后使用執(zhí)行SQL 腳本來操作數(shù)據(jù)庫!大家都知道,在黑屏下編寫SQL語句時,就算發(fā)現(xiàn)了錯誤,可能也不能修改了。所以我建議大家使用腳本文件來編寫SQL代碼,然后執(zhí)行之!

SOURCE C:\mydb1.sql

注意,在執(zhí)行腳本時需要先行核查當(dāng)前數(shù)據(jù)庫中的表是否與腳本文件中的語句有沖突!例如在腳本文件中存在create table a的語句,而當(dāng)前數(shù)據(jù)庫中已經(jīng)存在了a表,那么就會出錯!

還可以通過下面的方式來執(zhí)行腳本文件:

mysql -uroot -p123 mydb1c:\mydb1.sql

mysql –u用戶名 –p密碼 數(shù)據(jù)庫要執(zhí)行腳本文件路徑

這種方式無需登錄mysql!

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

1、首先打開mysql數(shù)據(jù)庫軟件進(jìn)入軟件主界面。

2、然后再左側(cè)樹里打開自己的的數(shù)據(jù)庫。

3、然后需要點(diǎn)擊需要備份的數(shù)據(jù)庫名。

4、如圖所示為打開數(shù)據(jù)庫后界面。

5、然后需要點(diǎn)擊轉(zhuǎn)儲sql文件選項(xiàng)。

6、然后需要打開選擇存儲文件路徑并選擇保存。

7、點(diǎn)擊保存即可在路徑備份好格式為sql的數(shù)據(jù)庫文件。

mysql到底如何備份

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

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

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

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

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

特性1:Backup Lock

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

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

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

只有InnoDB表,僅上備份鎖

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

若有非InnoDB表,上全局鎖

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

特性2:Redo Log Archiving

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

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

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

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

請點(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)時間,使用存在限制。

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

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

mysql INSTALL COMPONENT "";

2、在全備前開啟page-track

SELECT mysqlbackup_page_track_set(true);

3、全備之后,做增量備份時指定若滿足page tracking條件,默認(rèn)會使用page-track模式,否則會使用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:基于前一次備份做增備,前一次備份可能是增備,也可能是全備。這種方式全備之間可能會有多個增備,每次增量可能比較小,但恢復(fù)時需要逐個合并。

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

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

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

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

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

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

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

如何實(shí)現(xiàn)MySQL數(shù)據(jù)庫的備份與恢復(fù)

在數(shù)據(jù)庫表丟失或損壞的情況下 備份你的數(shù)據(jù)庫是很重要的 如果發(fā)生系統(tǒng)崩潰 你肯定想能夠?qū)⒛愕谋肀M可能丟失最少的數(shù)據(jù)恢復(fù)到崩潰發(fā)生時的狀態(tài) 有時 正是MySQL管理員造成破壞 管理員已經(jīng)知道表以破壞 用諸如vi或Emacs等編輯器試圖直接編輯它們 這對表絕對不是件好事!備份數(shù)據(jù)庫兩個主要方法是用mysqldump程序或直接拷貝數(shù)據(jù)庫文件(如用cp cpio或tar等) 每種方法都有其優(yōu)缺點(diǎn) mysqldump與MySQL服務(wù)器協(xié)同操作 直接拷貝方法在服務(wù)器外部進(jìn)行 并且你必須采取措施保證沒有客戶正在修改你將拷貝的表 如果你想用文件系統(tǒng)備份來備份數(shù)據(jù)庫 也會發(fā)生同樣的問題 如果數(shù)據(jù)庫表在文件系統(tǒng)備份過程中被修改 進(jìn)入備份的表文件主語不一致的狀態(tài) 而對以后的恢復(fù)表將失去意義 文件系統(tǒng)備份與直接拷貝文件的區(qū)別是對后者你完全控制了備份過程 這樣你能采取措施確保服務(wù)器讓表不受干擾 mysqldump比直接拷貝要慢些 mysqldump生成能夠移植到其它機(jī)器的文本文件 甚至那些有不同硬件結(jié)構(gòu)的機(jī)器上 直接拷貝文件不能移植到其它機(jī)器上 除非你正在拷貝的表使用MyISAM存儲格式 ISAM表只能在相似的硬件結(jié)構(gòu)的機(jī)器上拷貝 在MySQL 中引入的MyISAM表存儲格式解決了該問題 因?yàn)樵摳袷绞菣C(jī)器無關(guān)的 所以直接拷貝文件可以移植到具有不同硬件結(jié)構(gòu)的機(jī)器上 只要滿足兩個條件 另一臺機(jī)器必須也運(yùn)行MySQL 或以后版本 而且文件必須以MyISAM格式表示 而不是ISAM格式 不管你使用哪種備份方法 如果你需要恢復(fù)數(shù)據(jù)庫 有幾個原則應(yīng)該遵守 以確保最好的結(jié)果 定期實(shí)施備份 建立一個計(jì)劃并嚴(yán)格遵守 讓服務(wù)器執(zhí)行更新日志 當(dāng)你在崩潰后需要恢復(fù)數(shù)據(jù)時 更新日志將幫助你 在你用備份文件恢復(fù)數(shù)據(jù)到備份時的狀態(tài)后 你可以通過運(yùn)行更新日志中的查詢再次運(yùn)用備份后面的修改 這將數(shù)據(jù)庫中的表恢復(fù)到崩潰發(fā)生時的狀態(tài) 以文件系統(tǒng)備份的術(shù)語講 數(shù)據(jù)庫備份文件代表完全傾倒(full dump) 而更新日志代表漸進(jìn)傾倒(incremental dump) 使用一種統(tǒng)一的和易理解的備份文件命名機(jī)制 象backup buckup 等不是特別有意義 當(dāng)實(shí)施你的恢復(fù)時 你將浪費(fèi)時間找出文件里是什么東西 你可能發(fā)覺用數(shù)據(jù)庫名和日期構(gòu)成備份文件名會很有用 例如 %mysqldump samp_db /usr/archives/mysql/samp_db %mysqldump menagerie /usr/archives/mysql/menagerie 你可能想在生成備份后壓縮它們 備份一般都很大!你也需要讓你的備份文件有過期期限以避免它們填滿你的磁盤 就象你讓你的日志文件過期那樣 用文件系統(tǒng)備份備份你的備份文件 如果遇上了一個徹底崩潰 不僅清除了你的數(shù)據(jù)目錄 也清除了包含你的數(shù)據(jù)庫備份的磁盤驅(qū)動器 你將真正遇上了麻煩 也要備份你的更新日志 將你的備份文件放在不同于用于你的數(shù)據(jù)庫的文件系統(tǒng)上 這將降低由于生成備份而填滿包含數(shù)據(jù)目錄的文件系統(tǒng)的可能性 用于創(chuàng)建備份的技術(shù)同樣對拷貝數(shù)據(jù)庫到另一臺機(jī)器有用 最常見地 一個數(shù)據(jù)庫被轉(zhuǎn)移到了運(yùn)行在另一臺主機(jī)上的服務(wù)器 但是你也可以將數(shù)據(jù)轉(zhuǎn)移到同一臺主機(jī)上的另一個服務(wù)器 使用mysqldump備份和拷貝數(shù)據(jù)庫 當(dāng)你使用mysqldumo程序產(chǎn)生數(shù)據(jù)庫備份文件時 缺省地 文件內(nèi)容包含創(chuàng)建正在傾倒的表的CREATE語句和包含表中行數(shù)據(jù)的INSERT語句 換句話說 mysqldump產(chǎn)生的輸出可在以后用作mysql的輸入來重建數(shù)據(jù)庫 你可以將整個數(shù)據(jù)庫傾倒進(jìn)一個單獨(dú)的文本文件中 如下 %mysqldump samp_db /usr/archives/mysql/samp_db 輸出文件的開頭看起來象這樣 # MySQL Dump ## Host: localhost Database: samp_db# # Server version alpha log## Table structure for table absence #CREATE TABLE absence(student_id int( ) unsigned DEFAULT NOT NULL date date DEFAULT NOT NULL PRIMARY KEY (student_id date));## Dumping data for table absence #INSERT INTO absence VALUES ( );INSERT INTO absence VALUES ( );INSERT INTO absence VALUES ( ); 文件剩下的部分有更多的INSERT和CREATE TABLE語句組成 如果你想壓縮備份 使用類似如下的命令 %mysqldump samp_db | gzip /usr/archives/mysql/samp_db gz如果你要一個龐大的數(shù)據(jù)庫 輸出文件也將很龐大 可能難于管理 如果你愿意 你可以在mysqldump命令行的數(shù)據(jù)庫名后列出單獨(dú)的表名來傾到它們的內(nèi)容 這將傾倒文件分成較小 更易于管理的文件 下例顯示如何將samp_db數(shù)據(jù)庫的一些表傾到進(jìn)分開的文件中 %mysqldump samp_db student score event absence grapbook sql%mysqldump samp_db member president hist league sql如果你生成準(zhǔn)備用于定期刷新另一個數(shù)據(jù)庫內(nèi)容的備份文件 你可能想用 add drop table選項(xiàng) 這告訴服務(wù)器將DROP TABLE IF EXISTS語句寫入備份文件 然后 當(dāng)你取出備份文件并把它裝載進(jìn)第二個數(shù)據(jù)庫時 如果表已經(jīng)存在 你不會得到一個錯誤 如果你倒出一個數(shù)據(jù)庫以便能把數(shù)據(jù)庫轉(zhuǎn)移到另一個服務(wù)器 你甚至不必創(chuàng)建備份文件 要保證數(shù)據(jù)庫存在于另一臺主機(jī) 然后用管道傾倒數(shù)據(jù)庫 這樣mysql能直接讀取mysqldump的輸出 例如 你想從主機(jī)拷貝數(shù)據(jù)庫samp_db到 可以這樣很容易做到 %mysqladmin h create samp_db%mysqldump samp_db | mysql h samp_db以后 如果你想再次刷新上的數(shù)據(jù)庫 跳過mysqladmin命令 但要對mysqldump加上 add drop table以避免的得到表已存在的錯誤 %mysqldump add drop table samp_db | mysql h samp_dbmysqldump其它有用的選項(xiàng)包括 flush logs和 lock tables組合將對你的數(shù)據(jù)庫檢查點(diǎn)有幫助 lock tables鎖定你正在傾倒的所有表 而 flush logs關(guān)閉并重新打開更新日志文件 新的更新日志將只包括從備份點(diǎn)起的修改數(shù)據(jù)庫的查詢 這將設(shè)置你的更新日志檢查點(diǎn)位備份時間 (然而如果你有需要執(zhí)行個更新的客戶 鎖定所有表對備份期間的客戶訪問不是件好事 )如果你使用 flush logs設(shè)置檢查點(diǎn)到備份時 有可能最好是傾倒整個數(shù)據(jù)庫 如果你傾倒單獨(dú)的文件 較難將更新日志檢查點(diǎn)與備份文件同步 在恢復(fù)期間 你通常按數(shù)據(jù)庫為基礎(chǔ)提取更新日志內(nèi)容 對單個表沒有提取更新的選擇 所以你必須自己提取它們 缺省地 mysqldump在寫入前將一個表的整個內(nèi)容讀進(jìn)內(nèi)存 這通常確實(shí)不必要 并且實(shí)際上如果你有一個大表 幾乎是失敗的 你可用 quick選項(xiàng)告訴mysqldump只要它檢索出一行就寫出每一行 為了進(jìn)一步優(yōu)化傾倒過程 使用 opt而不是 quick opt選項(xiàng)打開其它選項(xiàng) 加速數(shù)據(jù)的傾倒和把它們讀回 用 opt實(shí)施備份可能是最常用的方法 因?yàn)閭浞菟俣壬系膬?yōu)勢 然而 要警告你 opt選項(xiàng)確實(shí)有代價 opt優(yōu)化的是你的備份過程 不是其他客戶對數(shù)據(jù)庫的訪問 opt選項(xiàng)通過一次鎖定所有表阻止任何人更新你正在傾倒的任何表 你可在一般數(shù)據(jù)庫訪問上很容易看到其效果 當(dāng)你的數(shù)據(jù)庫一般非常頻繁地使用 只是一天一次地調(diào)節(jié)備份 一個具有 opt的相反效果的選項(xiàng)是 dedayed 該選項(xiàng)使得mysqldump寫出INSERT DELAYED語句而不是INSERT語句 如果你將數(shù)據(jù)文件裝入另一個數(shù)據(jù)庫并且你想是這個操作對可能出現(xiàn)在該數(shù)據(jù)庫中的查詢的影響最小 delayed對此很有幫助 press選項(xiàng)在你拷貝數(shù)據(jù)庫到另一臺機(jī)器上時很有幫助 因?yàn)樗鼫p少網(wǎng)絡(luò)傳輸字節(jié)的數(shù)量 下面有一個例子 注意到 press對與遠(yuǎn)端主機(jī)上的服務(wù)器通信的程序才給出 而不是對與本地主機(jī)連接的程序 %mysqldump opt samp_db | mysql press h samp_dbmysqldump有很多選項(xiàng) 詳見《MySQL參考手冊》 使用直接拷貝數(shù)據(jù)庫的備份和拷貝方法 另一種不涉及mysqldump備份數(shù)據(jù)庫和表的方式是直接拷貝數(shù)據(jù)庫表文件 典型地 這用諸如cp tar或cpio實(shí)用程序 本文的例子使用cp 當(dāng)你使用一種直接備份方法時 你必須保證表不在被使用 如果服務(wù)器在你則正在拷貝一個表時改變它 拷貝就失去意義 保證你的拷貝完整性的最好方法是關(guān)閉服務(wù)器 拷貝文件 然后重啟服務(wù)器 如果你不想關(guān)閉服務(wù)器 要在執(zhí)行表檢查的同時鎖定服務(wù)器 如果服務(wù)器在運(yùn)行 相同的制約也適用于拷貝文件 而且你應(yīng)該使用相同的鎖定協(xié)議讓服務(wù)器 安靜下來 假設(shè)服務(wù)器關(guān)閉或你已經(jīng)鎖定了你想拷貝的表 下列顯示如何將整個samp_db數(shù)據(jù)庫備份到一個備份目錄(DATADIR表示服務(wù)器的數(shù)據(jù)目錄) %cd DATADIR%cp r samp_db /usr/archive/mysql單個表可以如下備份 %cd DATADIR/samp_db%cp member * /usr/archive/mysql/samp_db%cp score * /usr/archive/mysql/samp_db 當(dāng)你完成了備份時 你可 lishixinzhi/Article/program/MySQL/201311/29384

mysql備份方式有哪些

數(shù)據(jù)庫最直接的備份方法就是使用自帶的mysqldump命令進(jìn)行備份。

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

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

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

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

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

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

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

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

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

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

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

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

2.6 備份單個數(shù)據(jù)庫的數(shù)據(jù)

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

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

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

2.8 一次備份多個數(shù)據(jù)庫

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


文章題目:mysql數(shù)據(jù)怎么備份 mysql怎么備份數(shù)據(jù)庫
URL標(biāo)題:http://weahome.cn/article/hgceep.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部