最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL備份和還原操作小結(jié)

 更新時間:2024年08月26日 09:53:18   作者:極地星光  
備份數(shù)據(jù)庫兩個主要方法是用mysqldump程序或直接拷貝數(shù)據(jù)庫文件,這篇文章主要介紹了MySQL備份和還原操作小結(jié),需要的朋友可以參考下

MySQL備份和還原操作

目標(biāo)

備份的概念
Mysqldump備份操作
MySQL還原操作
MySQL雙機(jī)熱備份

概述

在數(shù)據(jù)庫表丟失或損壞的情況下,備份數(shù)據(jù)庫是很重要的。如果發(fā)生系統(tǒng)崩潰,能夠?qū)⒈肀M可能丟失最少的數(shù)據(jù)恢復(fù)到崩潰發(fā)生時的狀態(tài)。

備份數(shù)據(jù)庫兩個主要方法是用mysqldump程序或直接拷貝數(shù)據(jù)庫文件

Mysqldump備份

導(dǎo)出庫表(mysqldump)
mysqldump -u用戶名 -p密碼 -h主機(jī) 數(shù)據(jù)庫 a -w “sql條件” –lock-all-tables > 路徑
mysqldump -hhostname -uusername -p dbname tbname>xxxx.sql
** 按指定條件導(dǎo)出數(shù)據(jù)庫表內(nèi)容。(-w選項 –where)
mysqldump -hhostname -uusername-p dbname tbname -w’id >= 1 and id<= 10000’–skip-lock-tables > xxxx.sql

mysqldump -hhostname -uusername -p dbname tbname --where=‘unit_id >= 1 and unit_id <= 10000’> ~/xxxx.sql

Mysqldump備份庫表詳細(xì)舉例

導(dǎo)出整個數(shù)據(jù)庫
mysqldump -u 用戶名 -p數(shù)據(jù)庫名 > 導(dǎo)出的文件名
mysqldump -u breezelark-p mydb > mydb.sql

導(dǎo)出一個表(包括數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù))
mysqldump -u 用戶名 -p數(shù)據(jù)庫名 表名> 導(dǎo)出的文件名
mysqldump -u lingxi -p mydb mytb> mytb.sql

導(dǎo)出一個數(shù)據(jù)庫結(jié)構(gòu)(無數(shù)據(jù)只有結(jié)構(gòu))
mysqldump -u lingxi -p -d --add-drop-table mydb >mydb.sql
-d 沒有數(shù)據(jù)–add-drop-table 在每個create語句之前增加一個drop table

數(shù)據(jù)庫備份

完全備份數(shù)據(jù)庫
增量備份

完全備份數(shù)據(jù)庫

mysqldump --single-transaction --flush-logs --master-data=2 --all-databases >fullbackup_sunday_11_PM.sql
在sql文件中我們會看到兩行:
– Position to start replication or point-in-time recovery from
– CHANGE MASTER TO MASTER_LOG_FILE=’bin-log.000002′, MASTER_LOG_POS=107;
第二行包含了我們需要的信息,是指備份后所有的更改將會保存到bin-log.000002二進(jìn)制文件中。

增量 備份

然后在星期一下午11點我們來做一次增量備份:
mysqladmin flush-logs
這時將會產(chǎn)生一個新的二進(jìn)制日志文件bin-log.000003,bin-log.000002則保存了自星期天下午11點到現(xiàn)在的所有更
改,我們只需要把這個文件備份到安全的地方就行了。然后星期二我們又做增量備份,還是執(zhí)行同樣的命令,這時我們
保存bin-log.000003文件。
如果mysqld在運(yùn)行則停止,然后用–log-bin[=file_name]選項來啟動。二進(jìn)制日志文件中提供了執(zhí)行mysqldump之后對數(shù)據(jù)庫的更改進(jìn)行復(fù)制所需要的信息。
對于InnoDB表,可以進(jìn)行在線備份,不需要對表進(jìn)行鎖定
MySQL支持增量備份:需要用–log-bin選項來啟動服務(wù)器以便啟用二進(jìn)制日志“二進(jìn)制日志”。當(dāng)想要進(jìn)行增量備份時(包含上一次完全備份或增量備份之后的所有更改),應(yīng)使用FLUSH LOGS回滾二進(jìn)制日志。然后,你需要將從最后的完全或增量備份的某個時刻到最后某個點的所有二進(jìn)制日志復(fù)制到備份位置。這些二進(jìn)制日志為增量備份;恢復(fù)時,按照下面的解釋應(yīng)用。下次進(jìn)行完全備份時,還應(yīng)使用FLUSH LOGS–flushlogs回滾二進(jìn)制日志。
“mysqldump:數(shù)據(jù)庫備份程序”,

數(shù)據(jù)庫還原

備份的程序,在出現(xiàn)崩潰后,可以恢復(fù)數(shù)據(jù):
· 操作系統(tǒng)崩潰
· 電源故障
· 文件系統(tǒng)崩潰
· 硬件問題(硬盤、母板等等)
該命令不包括mysqldump和mysql程序的–user和—password等選項。應(yīng)包括必要的選項讓MySQL服務(wù)器允許你連接它。
我們假定數(shù)據(jù)保存在MySQL的InnoDB存儲引擎中,支持事務(wù)和自動崩潰恢復(fù)。我們假定崩潰時MySQL服務(wù)器帶負(fù)載。如果不帶負(fù)載,則不需要恢復(fù)。
出現(xiàn)操作系統(tǒng)崩潰或電源故障時,我們可以假定重啟后硬盤上的MySQL?數(shù)據(jù)仍可用。由于崩潰,InnoDB數(shù)據(jù)文件中的數(shù)據(jù)可能不再保持一致性,但I(xiàn)nnoDB讀取它的日志并會查到掛起的提交的和未提交的事務(wù)清單,它們沒有清空到數(shù)據(jù)文件中。InnoDB自動卷回未提交的事務(wù),并清空到它的數(shù)據(jù)文件中。通過MySQL錯誤日志將該恢復(fù)過程相關(guān)信息傳達(dá)給用戶

數(shù)據(jù)恢復(fù)

Mysql -u用戶名 –p密碼 數(shù)據(jù)庫名 < 導(dǎo)出的文件名

恢復(fù)備份

比如星期三中午12點出現(xiàn)了故障,這時需要恢復(fù),我們首先導(dǎo)入星期天的完整備份:
mysql < fullbackup_sunday_3_AM.sql
接著我們導(dǎo)入星期一和星期二的增量備份:
mysqlbinlog bin-log.000002 bin-log.000003 | mysql
注意: “mysqlbinlog:用于處理二進(jìn)制日志文件的實用工具”

備份策略

對于中等級別業(yè)務(wù)量的系統(tǒng)來說,備份策略可以這么定:第一次全量備份,每天一次增量備份,每周再做一次全量備份,如此一直重復(fù)。而對于重要的且繁忙的系統(tǒng)來說,則可能需要每天一次全量備份,每小時一次增量備份,甚至更頻繁。為了不影響線上業(yè)務(wù),實現(xiàn)在線備份,并且能增量備份,最好的辦法就是采用主從復(fù)制機(jī)制(replication),在 slave 機(jī)器上做備份
出現(xiàn)操作系統(tǒng)崩潰或電源故障時,InnoDB自己可以完成所有數(shù)據(jù)恢復(fù)工作。應(yīng)遵從下面的指導(dǎo):
· 一定用–log-bin或甚至–log-bin=log_name選項運(yùn)行MySQL服務(wù)器,其中日志文件名位于某個安全媒介上,不同于數(shù)據(jù)目錄所在驅(qū)動器。如果你有這樣的安全媒介,最好進(jìn)行硬盤負(fù)載均衡(這樣能夠提高性能)。
· 定期進(jìn)行完全備份,使用mysqldump命令進(jìn)行在線非塊備份。
· 用FLUSH LOGS或mysqladmin flush-logs清空日志進(jìn)行定期增量備份。

備份策略

對于中等級別業(yè)務(wù)量的系統(tǒng)來說,備份策略可以這么定:第一次全量備份,每天一次增量備份,每周再做一次全量備份,如此一直重復(fù)。而對于重要的且繁忙的系統(tǒng)來說,則可能需要每天一次全量備份,每小時一次增量備份,甚至更頻繁。為了不影響線上業(yè)務(wù),實現(xiàn)在線備份,并且能增量備份,最好的辦法就是采用主從復(fù)制機(jī)制(replication),在 slave 機(jī)器上做備份
出現(xiàn)操作系統(tǒng)崩潰或電源故障時,InnoDB自己可以完成所有數(shù)據(jù)恢復(fù)工作。應(yīng)遵從下面的指導(dǎo):
· 一定用–log-bin或甚至–log-bin=log_name選項運(yùn)行MySQL服務(wù)器,其中日志文件名位于某個安全媒介上,不同于數(shù)據(jù)目錄所在驅(qū)動器。如果你有這樣的安全媒介,最好進(jìn)行硬盤負(fù)載均衡(這樣能夠提高性能)。
· 定期進(jìn)行完全備份,使用mysqldump命令進(jìn)行在線非塊備份。
· 用FLUSH LOGS或mysqladmin flush-logs清空日志進(jìn)行定期增量備份。

MySQL雙機(jī)熱備份

雙機(jī)熱備份通過日志文件來傳輸入服務(wù)器上數(shù)據(jù)的變化。主服務(wù)器進(jìn)程在數(shù)據(jù)被更新時觸發(fā)。并將相應(yīng)的日志文件發(fā)送到從服務(wù)器。從服務(wù)器進(jìn)程接收到主服務(wù)器發(fā)送的日志文件,做出相應(yīng)的更改操作

雙機(jī)熱備份的工作原理

主服務(wù)器的配置

找到配置文件my.ini
編輯my.ini文件,定義到mysqld,加入內(nèi)容
Server-id=1
Log-bin=c:/log-bin.log
Binlog-do-db=dbname
創(chuàng)建dbname數(shù)據(jù)庫
進(jìn)入mysql操作,為從服務(wù)器授權(quán)訪問數(shù)據(jù)庫的用戶名和密碼
grant replication slave on . to ‘root’@從服務(wù)器IP identified by ‘密碼’
重啟MySQL服務(wù)器,使更改生效
重新進(jìn)入到MySQL的命令,執(zhí)行命令檢測配置是否生效:
Show master status\G

從服務(wù)器的配置

在從服務(wù)器中創(chuàng)建與主服務(wù)器中相同的數(shù)據(jù)庫
找到從服務(wù)器中的my.ini文件,定位到[mysqld],加入以下內(nèi)容:
Server-id=2
Master-host=主服務(wù)器IP
Master-port=3306(主服務(wù)器端口號)
Master-user=root(主服務(wù)器用戶名)
Master-password=密碼(主服務(wù)器密碼)
Master-connect-retry=60(等待嘗試重新連接的秒數(shù))
重新啟動MySQL服務(wù)器,使配置生效
進(jìn)入到從服務(wù)器MySQL操作,執(zhí)行啟動進(jìn)程
Slave start

到此這篇關(guān)于MySQL備份和還原操作的文章就介紹到這了,更多相關(guān)MySQL備份和還原內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

  • MySQL索引失效的原因及問題排查

    MySQL索引失效的原因及問題排查

    MySQL索引失效是指在查詢數(shù)據(jù)時,MySQL數(shù)據(jù)庫無法有效地使用索引來提高查詢性能,導(dǎo)致查詢速度變慢或者索引無效的情況,本文給大家介紹了MySQL中什么情況下會出現(xiàn)索引失效?以及如何排查索引失效?,需要的朋友可以參考下
    2024-04-04
  • mysql drop database刪除數(shù)據(jù)庫命令實例講解

    mysql drop database刪除數(shù)據(jù)庫命令實例講解

    這篇文章主要介紹了mysql drop database刪除數(shù)據(jù)庫命令實例講解的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • MySQL表的約束示例詳解

    MySQL表的約束示例詳解

    文章詳細(xì)介紹了數(shù)據(jù)庫約束的種類,包括非空約束、默認(rèn)值、列描述、主鍵(單主鍵和復(fù)合主鍵)、自增長、唯一鍵和外鍵,這些約束確保了數(shù)據(jù)庫中數(shù)據(jù)的完整性、合法性和可預(yù)期性,對mysql表的約束相關(guān)知識感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • MySQL實現(xiàn)字符串截取的圖文教程

    MySQL實現(xiàn)字符串截取的圖文教程

    在實際的項目開發(fā)中有時會有對數(shù)據(jù)庫某字段截取部分的需求,這種場景有時直接通過數(shù)據(jù)庫操作來實現(xiàn)比通過代碼實現(xiàn)要更方便快捷些,這篇文章主要給大家介紹了關(guān)于MySQL實現(xiàn)字符串截取的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • 一文學(xué)會Mysql數(shù)據(jù)庫備份與恢復(fù)

    一文學(xué)會Mysql數(shù)據(jù)庫備份與恢復(fù)

    數(shù)據(jù)庫備份是在數(shù)據(jù)丟失的情況下能及時恢復(fù)重要數(shù)據(jù),防止數(shù)據(jù)丟失的一種重要手段,下面這篇文章主要給大家介紹了關(guān)于Mysql數(shù)據(jù)庫備份與恢復(fù)的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • MySQL server has gone away 問題的解決方法

    MySQL server has gone away 問題的解決方法

    MySQL server has gone away 問題解決方法,需要的朋友可以參考下。
    2010-06-06
  • MySQL server has gone away的問題解決

    MySQL server has gone away的問題解決

    本文主要介紹了MySQL server has gone away的問題解決,意思就是指client和MySQL server之間的鏈接斷開了,下面就來介紹一下幾種原因及其解決方法,感興趣的可以了解一下
    2024-07-07
  • MySQL中使用or、in與union all在查詢命令下的效率對比

    MySQL中使用or、in與union all在查詢命令下的效率對比

    這篇文章主要介紹了MySQL中使用or、in與union all在查詢命令下的效率對比,論證了在通常情況下union all并不一定比or及in更快,需要的朋友可以參考下
    2015-11-11
  • MySQL IS NULL空值查詢的實現(xiàn)

    MySQL IS NULL空值查詢的實現(xiàn)

    MySQL 提供了?IS NULL?關(guān)鍵字,用來判斷字段的值是否為空值,本文主要介紹了MySQL IS NULL空值查詢的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • 最新評論

    胶南市| 临湘市| 乌拉特前旗| 南宫市| 抚顺县| 巴林右旗| 沙田区| 弥渡县| 都江堰市| 郧西县| 勃利县| 永和县| 河南省| 京山县| 读书| 化德县| 平凉市| 安吉县| 长沙县| 潜山县| 平果县| 石泉县| 辰溪县| 平陆县| 潜山县| 高雄市| 牙克石市| 合江县| 二连浩特市| 灵宝市| 黄石市| 东乌| 平江县| 扶绥县| 库伦旗| 云龙县| 北碚区| 峡江县| 井研县| 南郑县| 越西县|