国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

MySQL簡易備份方法
2007-11-08   IT168

一.錯誤修正

檢測 MySQL 內 phpBB 的 DB 後發現,有個 users 的 table 是有問題的, 使用 myisamchk 嘗試去修護,發現還不行用預設方式修護,還要多加個 "-o" 的參數才行,在使用myisamchk 時,為避免還有用戶來存取 DB ,最好是能夠將 MySQL 服務停止,不然最少也要下個 "mysqladmin flush-tables" 後, 再作 myisamchk 指令,像:

myisamchk -o phpbb2_users.MYI

這個動作,可能要作個2~3次,直到沒有錯誤的訊息出現!

修護完,重新啟動 MySQL 服務後,就可以用 mysql 這個 client 的指令, 去 Query 一下 DB 內容,測試看是否正常.很幸運的,DB的部份在此時, 運作是正常的.

當然,在你要備份之前,假如能先檢測資料是否正確,那是最好不過了, 假如有需要,可以把檢測的工作,排定在備份工作之前,但是記得,這個檢測DB 的動作不要排定在 DB 高用量的那段時間,深夜無人上線的時段是個不錯的選擇!

二.開始備份

phpBB 討論區的資料檔,主要有兩個部份,就是 php 主程式和 DB 內容, php 主程式的備份就比較簡單,只要把全部檔案 tar 起來就行了,就像:

tar cvfz phpbb2_20020601.tgz phpbb (上面的 phpbb 是指 phpBB 的 php 網頁程式存放目錄.)

以後有改到 phpBB 網頁程式部份再重新備份一次就行,它的內容資料都寫在DB 內,所以 php 程式檔部份異動性應該不大.

再來就是 MySQL DB 部份了,預設 MySQL 的 DB 檔案是存在 /var/lib/mysql 內, 以 DB 名稱為目錄,目錄內就是該 DB 的所有資料,像 phpbb2 這個 DB, 就是存在 /var/lib/mysql/phpbb2 內,在備份前,因為怕資料尚未完全寫入磁碟, 而且 MySQL 會 Lock 在使用的 DB 檔案,所以應該是要先把 MySQL 先 Shutdown 一下, 整個備份的程序可以下像下面的指令去完成:

/etc/rc.d/init.d/mysqld stop

tar cvfz phpbb2_db_20020601.tgz phpbb2

/etc/rc.d/init.d/mysqld start

(上面的 phpbb2 是指存放 phpbb2 這個 DB 的目錄.)

對!這樣就可以了! 不過要注意的是,怕 DB 內每個 Tables 間的資料有關關聯性, 所以最好是把整個 DB 一次備起來,單獨只備哪個 Tables 的檔案,以後回存時, 怕會有資料關聯不一致的問題!

三.如何回存

phpBB 討論區的回存,只需把檔案解回原來存放網頁的路徑就可以,用以下指令解開:

tar xvfz phpbb2_20020601.tgz

DB 發生錯誤而要回存時,其實也不難,先找出最近一次完整正常的備份,先把現在錯誤的網頁或 DB 先更名或 tar 起來,再把好的備份給解開回原來目錄位置就行了,需要注意的是, MySQL 服務最好也是要先停止,回存完成後再啟動服務,回存 DB 的整個程序可能像下面:

/etc/rc.d/init.d/mysqld.stop

mv phpbb2 phpbb2_error

tar xvfz phpbb2_db_20020601.tgz

/etc/rc.d/init.d/mysqld.start

然後再去測試一下網頁及資料庫! 看使用上是否正常就行了...

四.MySQL線上備份

使用像上面的"檔案"方式備份是個不錯的方法,它最少可以保持該主機某個時間點的完整檔案備份,但還是有一些問題需要考慮到,有些主機就不只建立一個 DB 而已, 總不能為了備份某個 DB 而把整個 MySQL 服務停止,備份檔案的方式,回存在原主機上一定適用,但假如 MySQL 版本升級,或是在那天,該網頁空間需遷機移機到別的主機時, 那就沒人敢保證備出來的資料檔可以用,所以我們可以考慮另一種備份的方式,是使用MySQL 本身提供的功能: "MySQL Data Dump",指令是 "mysqldump".

使用 MySQL 的 Dump 功能可以把 DB 的"結構","資料"或"結構加資料" Dump 成文字檔, mysqldump 指令提供的彈性很大,你可以選擇把整個 DB Dump 成一個檔, 或是每個 Table 為一個檔,甚至是把結構檔和資料分開儲存都可以.

檢測酷!學園的 phpBB 資料庫後發現,以結構加資料 Full Dump 成一個檔案, 檔案的大小大約也是30幾MB左右. 在 Dump 之前最好多下個 Flush-Logs 更新 LOG, 所以整個 Dump 的指令如下:

mysqladmin -uroot -p flush-logs

mysqldump phpbb2 -uroot -p opt > phpbb2_20020601.sql

(phpbb2 是 DB 名稱, opt 是一個使用完整 Dump 參數)

再使用 time 指令去測試執行時間,這個30幾 MB 的 DB , Dump 出來竟只要15秒左右, Query 的速度還真是快,假如只是要單獨 Dump 某個 Table 時,只要在上面的指令後, 轉出符號 ">" 前加個 Table 名稱就可以,如只要 phpbb2_users 這個 Table 的 Dump 時, 只要下:

mysqldump phpbb2 -uroot -p opt phpbb2_users > phpbb2_users_20020601.sql

Dump 出來的檔案是個純文字檔,你可以用 tar 把它壓起來,以上面30幾 MB 的 DB 為例, 大約可以把檔案大小壓到1/3左右的大小,因為 Dump 出是文字檔,所有的資料都是以明文

顯示,所以必須注意一下備份檔保存的安全性,而且建議備份檔最好再另外儲存於異地以及其他易於保存的媒體上,像光碟片或磁帶,這樣的備份才有意義.

五.MySQL線上回存

若要回存整個資料庫,只需將壓縮的備份檔還原成 Dump 的檔案,再用下面的指令回存:

mysql phpbb2 -uroot -p < phpbb2_20020601.sql

這邊需注意的是,若建立備份時是以"opt"或"add-drop-table"為參數時,回存的動作是先將舊的 Table 先刪除,重建 Table 的結構後再把 Data 匯入,所以回存後, 所有的資料會回到你當時備份那個時間點,因此在回存資料時,可以考慮把現有錯誤或不完整的 DB 先備份一份下來,以備不時之需,或是拿來比對錯誤的地方在那里,當然你也可以把資料回存到另一個測試用的 DB 內,只要把上面指令的 DB 名稱改成你的測試用 DB 名稱即可.

使用這種回存方式, MySQL 服務不需停止,也不會動到其他正在使用的 DB ,在一些提供MySQL 服務的虛擬主機,可用這種方式作你自己的 DB 備份及回存.

另外,假如你是系統重建或是移機時,切需在新的 MySQL 內,新建一個空白 DB 後,才行作回存的工作,你可以用下面的指令建立:

mysql -uroot -p -e "CREATE DATABASE phpbb2"

(上面的phpbb2是你要新建的 DB 名稱)

另一種作法,先用 "mysql" 指令進入 "mysql client console", 然後再用:

CREATE DATABASE phpbb2;

這樣就行了,記得尾端要加個 ";" 符號該行指令才會執行.

六 開始排定備份

知道備份的方法之後,就可以把整個備份的動作作成一個 Scirpt ,指定 DB 相關參數後, 便可利用 Crontab 排定備份的周期和時間,可以把下面的指令加入 Crontab 內:

00 04 * * * /home/dbadmin/backup

(backup 是 Script 的檔名)

排定的時間當然最好是夜間離峰時. 以本文附錄提供的 Script 作備份規則說明,每日執行備份作業,以一周為一個周期,所以最近的資料是昨天,最久的資料是一星期前,每次備份是將指定的 DB Full Dump 成一個檔, 用 tar 壓縮後存入指定的路徑. 備份檔以 DB 的名稱加上星期來命名,星期的表示為"0" 代表星期日,"1"代表星期一,以此類推.

目前該 Scirpt 一次只能備份一個 DB 而已,你可以加以修改以符合你的系統環境及需求.

1

七 結語

目前這個 Script 在測試機上測試的效果還不錯,以酷!學園討論區的2萬多篇討論文章, DB 總大小有30幾 MB, 跑這個 Script 大約只需要30幾秒就完成,下面是以 time 指令測試

數次計算的結果:

[root@demo tmp]# time backup

real 0m32.788s

user 0m22.770s

sys 0m4.610s

[root@demo tmp]# time backup

real 0m33.898s

user 0m24.740s

sys 0m4.590s

[root@demo tmp]# time backup

real 0m32.808s

user 0m23.710s

sys 0m4.750s

測試機的硬體配備是Intel Celeron 600 + 256mb SDRAM, 作業系統是CLE Linux 1.0.

因為 Dump 備份的速度很快,大部份作 MySQL 的備份都是這樣作的,假如是大型大量的DB 環境時,就需要考慮以 Incremental 的備份方式,而 MySQL 本身也提供這種備份方式, 這種備份方式,一周作一次完整的備份,每天只要作異動作業檔(LOG)的備份就行,在備份的成本上,可以節省備份時間和儲存空間.

完成了備份的工作安排,現在又可以和學園們一起快樂的上網沖浪去了...

.附錄-備份Script原始檔

#!/bin/sh

#

# Title: MySQL Backup Script

# Created: 2002.06.01

# Current: 2002.06.23

# Contact: Duncan Lo <
duncan@twn.wox.org >

# Note: This script just only backup one database!

#

#

# Variables define for your server

#

# Database name

DBNAME="phpbb2"

# Database admins name

DBUSER="root"

# Database admins password

DBPASS="password"

# MySQL commands path

# default: /usr/bin

BINPATH="/usr/bin"

# Backup date format

BAKDATE=`date +%w`

# Path for backup files save to

BAKPATH="/usr/backup/phpbb"

# Temp directorys name

TMPDIR="tmp.dbbak
".$BAKDATE

# Backup filess directory

BAKDIR="$DBNAME"_$BAKDATE

# Database tables list files name

TABLST="tables_list"

# Backup Type

# 0: All tables in one dump file

# 1: Pre table in one dump file

BAKTYPE="0"

#

# Script Start

#

#

# Create backup temp directory

#

cd /tmp

rm -rf $TMPDIR

mkdir $TMPDIR

cd $TMPDIR

mkdir $BAKDIR

cd $BAKDIR

#

# Create databases table list

#

$BINPATH/mysql $DBNAME -u$DBUSER -p$DBPASS -N -e "show tables" > $TABLST

#

# Flush databases LOG before dump

#

$BINPATH/mysqladmin -u$DBUSER -p$DBPASS flush-logs

#

# Choice one type to dump datebase

#

case $BAKTYPE in

0)

#

# Dump database all table in one file

#

$BINPATH/mysqldump $DBNAME -u$DBUSER -p$DBPASS opt > $DBNAME.sql

;;

1)

#

# Dump database pre table in one file

#

awk { print BINPATH"/mysqldump "DBNAME" -u"DBUSER" -p"DBPASS"

opt " $1 " > " $1".sql" }

BINPATH="$BINPATH" DBNAME="$DBNAME" DBUSER="$DBUSER" DBPASS="$DBPASS"

$TABLST

| /bin/sh

;;

*);;

esac

cd ..

#

# Compress backup files

#

tar cfz $BAKDIR.tgz $BAKDIR

#

# Move
file to backup directory

#

mv $BAKDIR.tgz $BAKPATH

cd ..

#

# Clean temp files and directory

#

rm -rf $TMPDIR

#

# Script End

#

熱詞搜索:

上一篇:linux下建立mysql鏡像數據庫
下一篇:BGP本地優先和MED屬性配置的一點心得

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
亚洲伦理在线免费看| 风间由美性色一区二区三区| 亚洲乱码国产乱码精品精可以看| 国产三级一区二区| 久久精品人人爽人人爽| 精品久久久久99| 26uuu国产日韩综合| 欧美成人福利视频| 欧美精品一区二区高清在线观看| 91精品国产麻豆国产自产在线| 欧美日韩电影在线| 7777精品伊人久久久大香线蕉的| 欧美天堂一区二区三区| 欧美男女性生活在线直播观看| 欧美乱妇23p| 欧美一区三区四区| 精品国产乱码久久久久久久久| 日韩欧美成人一区二区| 久久婷婷综合激情| 亚洲国产精品精华液ab| 国产精品全国免费观看高清| 日韩毛片一二三区| 亚洲美女免费视频| 亚洲电影第三页| 日本欧美一区二区三区乱码| 激情深爱一区二区| 成人小视频免费在线观看| 91丨九色porny丨蝌蚪| 欧美性欧美巨大黑白大战| 欧美一级片在线看| 久久久久久久综合狠狠综合| 一色屋精品亚洲香蕉网站| 亚洲国产aⅴ天堂久久| 黄色小说综合网站| 成人av网站免费观看| 91蝌蚪porny| 91精品国产品国语在线不卡| 久久久99久久| 亚洲黄网站在线观看| 日韩精品亚洲专区| 国产精品1区2区3区在线观看| 色综合色狠狠综合色| 欧美一级高清片| 久久精品亚洲一区二区三区浴池| 国产欧美一区二区三区鸳鸯浴| 国产精品人人做人人爽人人添| 亚洲男人天堂av网| 日本午夜一区二区| 国产精品系列在线观看| 久久国产精品色婷婷| 国产+成+人+亚洲欧洲自线| 日本道在线观看一区二区| 欧美三级资源在线| 日韩精品一区二区三区中文精品| 中文av字幕一区| 亚洲v精品v日韩v欧美v专区| 国产在线精品不卡| 91玉足脚交白嫩脚丫在线播放| 日本一区二区久久| 亚洲视频免费观看| 日韩av中文字幕一区二区三区| 精品一区二区三区欧美| 成人va在线观看| 7777精品伊人久久久大香线蕉 | 久久综合九色综合欧美就去吻| 亚洲国产成人午夜在线一区| 亚洲一区二区三区爽爽爽爽爽| 美女一区二区视频| 91啦中文在线观看| 免费人成在线不卡| 国产一区二区调教| 欧美伊人久久久久久久久影院| 精品国产麻豆免费人成网站| 亚洲精品视频一区| 久久99热国产| 在线视频国产一区| 国产欧美一区视频| 亚洲乱码国产乱码精品精小说| 国产在线一区二区| 欧美久久久久久久久中文字幕| 国产女主播视频一区二区| 青娱乐精品视频在线| 国产盗摄女厕一区二区三区| 欧美视频一区在线观看| 国产精品福利av| 韩国一区二区三区| 欧美三级视频在线播放| 中文文精品字幕一区二区| 日韩av午夜在线观看| 在线一区二区视频| 国产精品欧美经典| 狠狠色综合播放一区二区| 91精品婷婷国产综合久久性色| 久久老女人爱爱| 亚洲欧美偷拍另类a∨色屁股| 成人免费视频播放| 精品噜噜噜噜久久久久久久久试看| 一区二区免费视频| 成人av网站在线观看免费| 亚洲精品一区二区精华| 青青草原综合久久大伊人精品| 欧美亚洲一区二区在线| 亚洲视频一区二区在线观看| 国产精品夜夜嗨| 精品国产一区二区三区四区四| 日韩精品亚洲一区| 欧美日韩精品综合在线| 亚洲激情中文1区| 97se狠狠狠综合亚洲狠狠| 国产蜜臀av在线一区二区三区| 精品一区二区综合| 日韩一区二区在线免费观看| 香蕉影视欧美成人| 欧美日韩高清不卡| 亚洲bt欧美bt精品| 欧美调教femdomvk| 天天亚洲美女在线视频| 欧美三级日韩在线| 亚洲精品精品亚洲| 99这里只有久久精品视频| 国产精品你懂的在线| 成人av手机在线观看| 中文字幕欧美激情一区| 99re成人精品视频| 一区二区免费看| 精品视频免费在线| 首页欧美精品中文字幕| 91精品久久久久久久91蜜桃| 日本视频在线一区| 日韩三级高清在线| 精品1区2区3区| 午夜天堂影视香蕉久久| 欧美一卡二卡三卡四卡| 日本欧美一区二区| 日韩精品一区二区三区蜜臀 | 成人av网在线| 亚洲成人激情av| 69久久夜色精品国产69蝌蚪网| 午夜久久久影院| 日韩你懂的在线观看| 国内一区二区在线| 国产精品久久三| 色综合久久88色综合天天| 亚洲精品免费在线观看| 在线成人av网站| 麻豆国产欧美一区二区三区| 久久久久高清精品| 94-欧美-setu| 亚洲二区在线观看| 欧美成人性战久久| 成人激情动漫在线观看| 亚洲欧美日韩久久精品| 欧美美女激情18p| 久久疯狂做爰流白浆xx| 欧美激情中文不卡| 在线精品观看国产| 精品亚洲成a人在线观看| 国产精品久久久久久久久动漫| 日本大香伊一区二区三区| 日韩精品电影一区亚洲| 国产午夜亚洲精品不卡| 色综合欧美在线视频区| 天天综合色天天综合| 国产精品国产三级国产aⅴ入口| 欧美视频一区二区三区在线观看| 蜜桃久久久久久| 综合久久一区二区三区| 在线综合视频播放| 国产成人免费9x9x人网站视频| 亚洲综合色自拍一区| 欧美一卡二卡三卡| 国产成人午夜精品影院观看视频| 亚洲欧美日韩国产成人精品影院| 欧美一区二区三区视频免费播放| 国产99精品视频| 五月综合激情网| 国产精品福利一区| 精品久久久久av影院| 99久久er热在这里只有精品66| 精品一区二区日韩| 一区二区三区四区在线播放| 久久综合狠狠综合久久综合88| 日本高清成人免费播放| 国产一区二区三区四区五区美女| 亚洲一区二区3| 中文字幕免费不卡在线| 91精品国产色综合久久| 99在线热播精品免费| 成人自拍视频在线观看| 天堂影院一区二区| 亚洲免费观看在线观看| 国产欧美日本一区二区三区| 欧美日韩高清一区二区三区| www.日韩在线| 国产一区二区三区四| 久久99精品国产.久久久久久| 夜夜亚洲天天久久| 国产精品毛片无遮挡高清| 26uuu成人网一区二区三区| 8v天堂国产在线一区二区|