MySQL 備份和恢復(fù)策略詳細(xì)教程
來(lái)源:易賢網(wǎng) 閱讀:641 次 日期:2015-03-05 14:04:56
溫馨提示:易賢網(wǎng)小編為您整理了“MySQL 備份和恢復(fù)策略詳細(xì)教程”,方便廣大網(wǎng)友查閱!

在數(shù)據(jù)庫(kù)表丟失或損壞的情況下,備份你的數(shù)據(jù)庫(kù)是很重要的。如果發(fā)生系統(tǒng)崩潰,你肯定想能夠?qū)⒛愕谋肀M可能丟失最少的數(shù)據(jù)恢復(fù)到崩潰發(fā)生時(shí)的狀態(tài)。本文主要對(duì)MyISAM表做備份恢復(fù)。

備份策略一:直接拷貝數(shù)據(jù)庫(kù)文件(不推薦)

備份策略二:使用mysqlhotcopy備份數(shù)據(jù)庫(kù)(完全備份,適合小型數(shù)據(jù)庫(kù)備份)

備份策略三:使用mysqldump備份數(shù)據(jù)庫(kù)(完全+增量備份,適合中型數(shù)據(jù)庫(kù)備份)

備份策略四:使用主從復(fù)制機(jī)制(replication)(實(shí)現(xiàn)數(shù)據(jù)庫(kù)實(shí)時(shí)備份)

備份策略一、直接拷貝數(shù)據(jù)庫(kù)文件

直接拷貝數(shù)據(jù)文件最為直接、快速、方便,但缺點(diǎn)是基本上不能實(shí)現(xiàn)增量備份。為了保證數(shù)據(jù)的一致性,需要在備份文件前,執(zhí)行以下 SQL 語(yǔ)句:

FLUSH TABLES WITH READ LOCK;

也就是把內(nèi)存中的數(shù)據(jù)都刷新到磁盤(pán)中,同時(shí)鎖定數(shù)據(jù)表,以保證拷貝過(guò)程中不會(huì)有新的數(shù)據(jù)寫(xiě)入。這種方法備份出來(lái)的數(shù)據(jù)恢復(fù)也很簡(jiǎn)單,直接拷貝回原來(lái)的數(shù)據(jù)庫(kù)目錄下即可。

備份策略二、使用mysqlhotcopy備份數(shù)據(jù)庫(kù)

mysqlhotcopy 是一個(gè) PERL 程序,最初由Tim Bunce編寫(xiě)。它使用 LOCK TABLES、FLUSH TABLES 和 cp 或 scp 來(lái)快速備份數(shù)據(jù)庫(kù)。它是備份數(shù)據(jù)庫(kù)或單個(gè)表的最快的途徑,但它只能運(yùn)行在數(shù)據(jù)庫(kù)文件(包括數(shù)據(jù)表定義文件、數(shù)據(jù)文件、索引文件)所在的機(jī)器上,并且mysqlhotcopy 只能用于備份 MyISAM表。

本備份策略適合于小型數(shù)據(jù)庫(kù)的備份,數(shù)據(jù)量不大,可以采用mysqlhotcopy程序每天進(jìn)行一次完全備份。

備份策略布置:

(1)、安裝DBD-mysql perl模塊,支持mysqlhotcopy腳本連接到MySQL數(shù)據(jù)庫(kù)。

shell> tar -xzvf DBD-mysql-4.005.tar.gz

shell> cd DBD-mysql-4.005

shell> unset LANG

shell> perl Makefile.PL -mysql_config=/usr/local/mysql/bin/mysql_config -testuser=root -testpassword=UserPWD

shell> make

shell> make test

shell> make install

(2)、設(shè)置crontab任務(wù),每天執(zhí)行備份腳本

shell> crontab -e

0 3 * * * /root/MySQLBackup/mysqlbackup.sh >/dev/null 2>&1

每天凌晨3:00執(zhí)行備份腳本。

mysqlbackup.sh注釋:

#!/bin/sh

# Name:mysqlbackup.sh

# PS:MySQL DataBase Backup,Use mysqlhotcopy script.

# Write by:i.Stone

# Last Modify:2007-11-15

#

# 定義變量,請(qǐng)根據(jù)具體情況修改

# 定義腳本所在目錄

scriptsDir=`pwd`

# 數(shù)據(jù)庫(kù)的數(shù)據(jù)目錄

dataDir=/usr/local/mysql/data/

# 數(shù)據(jù)備份目錄

tmpBackupDir=/tmp/tmpbackup/

backupDir=/tmp/mysqlbackup/

# 用來(lái)備份數(shù)據(jù)庫(kù)的用戶名和密碼

mysqlUser=root

mysqlPWD=111111

# 定義eMail地址

# 如果臨時(shí)備份目錄存在,清空它,如果不存在則創(chuàng)建它

if [[ -e $tmpBackupDir ]]; then

rm -rf $tmpBackupDir/*

else

mkdir $tmpBackupDir

fi

# 如果備份目錄不存在則創(chuàng)建它

if [[ ! -e $backupDir ]];then

mkdir $backupDir

fi

# 清空MySQLBackup.log

if [[ -s MySQLBackup.log ]]; then

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機(jī)網(wǎng)站地址:MySQL 備份和恢復(fù)策略詳細(xì)教程
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類(lèi)型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)