亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

MySQL簡易備份方法

2019-09-08 23:26:38
字體:
來源:轉載
供稿:網友
    一.錯誤修正

    檢測 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 而已,你可以加以修改以符合你的系統環境及需求.

    七 結語

    目前這個 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

#

MYSQL

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲视频在线免费观看| 亚洲伊人一本大道中文字幕| 日韩免费在线播放| 欧美日韩亚洲91| 国产日韩欧美综合| 国产在线观看精品一区二区三区| 久久精品国产96久久久香蕉| 亚洲色图在线观看| 九九九热精品免费视频观看网站| 91免费看视频.| 庆余年2免费日韩剧观看大牛| 亚洲丁香婷深爱综合| 中文字幕欧美专区| 欧美福利视频在线| 国产精品视频一区二区高潮| 欧美日韩美女在线观看| 91在线免费观看网站| 欧美中文在线视频| 黄色一区二区三区| 日韩的一区二区| 日韩av在线播放资源| 亚洲午夜精品久久久久久久久久久久| 一本大道香蕉久在线播放29| 韩国国内大量揄拍精品视频| 亚洲成人精品久久久| 欧美视频精品一区| 亚洲国产天堂久久综合| 国产精品稀缺呦系列在线| 亚洲最大福利网| 亚洲va欧美va国产综合久久| 欧美黑人视频一区| 欧美黄色性视频| 国内揄拍国内精品| 国产精品久久久久免费a∨大胸| 欧美色道久久88综合亚洲精品| 精品国产区一区二区三区在线观看| 欧美激情精品久久久| 国产91在线视频| 9.1国产丝袜在线观看| 欧美一区二区大胆人体摄影专业网站| 久久久中文字幕| 欧美另类暴力丝袜| 91久久夜色精品国产网站| 国模极品一区二区三区| 8090成年在线看片午夜| 午夜精品免费视频| 一区二区亚洲精品国产| 久久国产精品免费视频| 尤物tv国产一区| 91在线观看免费高清| 欧美激情中文字幕在线| 91精品国产91久久久久| 亚洲男人第一网站| 久久人91精品久久久久久不卡| 97视频免费在线观看| 青青在线视频一区二区三区| 久久人人爽人人| 久久精品这里热有精品| 中文字幕日韩欧美在线视频| 欧美亚洲伦理www| 精品电影在线观看| 九九精品视频在线观看| 精品高清一区二区三区| 原创国产精品91| 国产精品专区h在线观看| 欧美激情精品久久久久| 一个色综合导航| 在线精品国产欧美| 91深夜福利视频| 欧美国产日本在线| 日韩激情视频在线播放| 亚洲无限乱码一二三四麻| 日韩av免费在线观看| 精品国偷自产在线| 久久亚洲精品中文字幕冲田杏梨| 精品国产鲁一鲁一区二区张丽| 国产成人一区二区三区| 亚洲欧美中文日韩v在线观看| 国产亚洲人成网站在线观看| 日韩久久精品成人| 日韩欧美在线免费| 日韩精品中文字幕在线观看| 亚洲欧美三级在线| 国产欧亚日韩视频| 色樱桃影院亚洲精品影院| 欧美激情性做爰免费视频| 欧洲亚洲在线视频| 国产精品你懂得| 日韩成人av一区| 亚洲女人天堂网| 国产精品网站视频| 综合激情国产一区| 国产精品av电影| 久久国产精品视频| 久久精品99久久久久久久久| 欧美成人免费小视频| 亚洲精品av在线| 中文字幕日韩专区| 国内精品久久影院| 日韩视频免费观看| 久久精品最新地址| 欧美成人精品在线| 欧美肥臀大乳一区二区免费视频| 琪琪第一精品导航| 国产一区二区三区在线免费观看| 成人信息集中地欧美| 2023亚洲男人天堂| 国产精品美女无圣光视频| 日韩在线视频网| 97国产在线观看| 欧美精品成人在线| 亚洲欧洲黄色网| 三级精品视频久久久久| 91在线网站视频| 久久人人爽人人爽人人片av高请| 国产精品久久久久久久久久久不卡| 亚洲香蕉伊综合在人在线视看| 日韩成人av网址| 精品高清一区二区三区| 国产日韩精品在线观看| 国产中文字幕日韩| 欧美激情在线播放| 亚洲男人的天堂在线播放| 国产91热爆ts人妖在线| 久久99久国产精品黄毛片入口| 日韩中文理论片| 性亚洲最疯狂xxxx高清| 日韩av免费在线播放| 欧美日韩另类视频| 亚洲日本中文字幕免费在线不卡| 亚洲精品国产品国语在线| 午夜精品国产精品大乳美女| 国产精品精品一区二区三区午夜版| 国内外成人免费激情在线视频网站| 日本aⅴ大伊香蕉精品视频| 欧美高清在线观看| 国产精品激情av电影在线观看| 欧美激情videoshd| 91夜夜揉人人捏人人添红杏| 国产精品国内视频| 久久亚洲精品中文字幕冲田杏梨| 中文字幕欧美专区| 91午夜在线播放| y97精品国产97久久久久久| 色综合久综合久久综合久鬼88| 日韩在线观看免费全集电视剧网站| 最近2019中文字幕第三页视频| 日韩国产欧美精品在线| 国产日韩在线精品av| 国产成人一区二区三区电影| 亚洲女人初尝黑人巨大| 国产精品福利在线观看网址| 中文字幕亚洲一区二区三区五十路| 日本成人在线视频网址| 91国产美女在线观看| 亚洲精品91美女久久久久久久| 在线日韩av观看| 大胆人体色综合| 欧美电影在线观看网站| 国产精品人成电影在线观看| 亚洲美女av在线| 亚洲精品美女久久久| 国产精品视频免费观看www| 国产精品一区二区三区久久久|