史萊姆論壇

返回   史萊姆論壇 > 專業主討論區 > 網路疑難應用技術研討區
忘記密碼?
論壇說明

歡迎您來到『史萊姆論壇』 ^___^

您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的!

請點擊這裡:『註冊成為我們的一份子!』

Google 提供的廣告


發文 回覆
 
主題工具 顯示模式
舊 2005-10-25, 12:33 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 Linux異構連結網路中如何制作備份MYSQL資料庫

Linux異構連結網路中如何制作備份MYSQL資料庫

 筆者是一個中小Linux網站的管理員,系統構架是:RHEL 4.0 + PHP 4.3 + Mysql 4.03 +Apache 1.23。日均IP訪問量在200次,一個典型的Linux小型網站。由於是小型網站,所以沒有經費使用磁帶機進行系統制作備份,使用的DVD光碟燒錄機+網路硬碟。隨著Linux的套用日益廣泛,特別是在網路套用方面,有大量的網路伺服器使用Linux操作系統。由於Linux的桌面套用和Windows相比還有一定的差距,所以在企業套用中往往是Linux和Windows操作系統共存形成異構網路。在伺服器端大多使用Linux和Unix的,PC端使用Windows 9X/2000/XP。下面我們就講講在Linux異構網路制作備份MYSQL。

  一、 本機制作備份

  Mysql資料庫的常用制作備份方法是使用使用實用程序mysqldump, 其指令格式如下:

 # mysqldump [options] database [tables]

  其參數的含義為:

  options:代表mysqldump的選項,通過mysqldump –help可以查到。

  database: 代表將要制作備份的資料庫

  tables: 代表將要制作備份的表,如果不指定任何表,則制作備份整個資料庫。

  使用 mysqldump進行制作備份非常簡單,如果要制作備份資料庫」 phpbb_db_backup 」,使用指令:

#mysqldump –u -p phpbb_db_backup > /usr/backups/mysql/ phpbb_db_backup.2005.5.6


  還可以使用gzip指令對備份檔案進行壓縮:

#mysqldump phpbb_db_backup | gzip > /usr/backups/mysql/ phpbb_db_backup.2005.5.6。gz


  恢複數據使用指令:

#mysql –u -p phpbb_db_backup </usr/backups/mysql/phpbb_db_backup.2005

二、 制作備份資料到DVD碟片

  隨著MYSQL資料量的增大,使用傳統CD—R來制作備份硬碟並不現實,採用CD—RW分割製作實在太麻煩、磁帶機對於中小企業又過於昂貴。另外各個應用程式的複雜度日與劇增, 處理的資料量也都相當龐大,Linux用戶常常遇到的問題就是 : 有什麼辦法可以經濟快捷的對資料做制作備份與儲存。隨著DVD燒錄機和碟片的價格迅速降低,使用DVD燒錄機用來制作備份Linux操作系統非常明智的。

  1、安裝

  下面以IDE接頭的內裝燒錄設備為例,介紹在Linux環境中使用DVD燒錄機。Linux 需要將IDE接頭的燒錄設備虛擬為SCSI設備才能進行DVD燒錄。2.4以上內核Linux發行版本包含了已編譯進內核的 SCSI 模擬,所以只要對啟動檔案作一些小改動;USB或1394(FireWire)接頭的外置燒錄機就簡單多了。

  把DVD燒錄機設備接入電腦第二個IDE接頭(dev/hdc),開啟電源。假設系統用Grub啟動,用文本編輯器開啟/boot/grub/grub.conf,找到以「kernel」開頭的一行,在這行內容的未尾加入「hdc=ide-scsi」,例如:「kernel /vmlinuz-2.4.20-8 ro root=LABEL=/ hdc=ide-scsi」。

  2、安裝燒錄軟體

  DVD+RW-Tools :一個包含有用於燒錄DVD和映像的軟體工具包,包括:Growisofs和dvd+rw-format。官方站點:http://fy.chalmers.se/~appro/linux/DVD+RW/,

  CDRDAO :DAO即是Disk-At-Once(既時燒錄),是一種在燒錄程序中沒有音軌間的兩秒緩衝的燒錄方法。它可以對磁牒的佈局和磁軌進行完全的控制,這一功能在燒錄多來源的碟片相當有說明 。

  cdrtools:包含了一套用於CD、DVD燒錄的工具。Growisofs在新增映像時會使用這個軟體包中的mkisofs工具,並且用戶可以使用readcd來從一個現有的DVD上新增ISO映像。此外,Cdrecord應用程式可被用於掃瞄連接系統上的CDDVD燒錄機,並且可以使用它來將ISO映像燒錄到CD—R(W)光碟上。通常大多數Linux版本包括這個軟體,也可以下載使用:http://freshmeat.net/redir/cdrecord/35795/url_homepage/cdrecord.html

  dvdrecord:指令行下的DVD燒錄軟體。指令行下的DVD燒錄可用於很多種情形,比如當我們通過遠端訪問主機時,電腦上的圖形界面無法啟動時,或者機器由於某些原因無法啟動GUI時。此外,在完成一些制作備份等自動重複的功能時,也需要使用指令行工具。

  以上介紹了一下必須的軟體和相關下載網址,安裝程序比較簡單,這裡就不贅述了。

  3、指令行下燒錄

  使用DVD+RW-Tools 進行燒錄工作

  growisofs是DVD+RW-Tools一個工具,Growlsofs訪問其燒錄設備使用的是一種不同的方式。它使用dev下面的Unix路徑來連接燒錄機。不同的系統和發行版中用於燒錄機的路徑不盡相同,所以最好的方法是檢視發行版中的說明 。在一些系統中,一個名為devdvd的軟連接會被設定成指向可用的DVD燒錄機,在本文中,使用devdvd來指定燒錄機,如果系統中路徑設定不同,那麼請使用合適的路徑將其取代。

  (1)格式化可讀寫DVD光碟

  可以使用DVD+RW-Tools工具包中提供的dvd十rw—format指令。它有兩種格式化DVD光碟的方式:快速模式、完全模式。快速模式:

#dvd+rw-format -blank /dev/dvd


  完全模式:

#dvd+rw-format -blank=full /dev/dvd


  (2)將文件儲存於至DVD燒錄盤:

  DVD和普通的光碟一樣,使用的也是ISO9660文件系統,以及同樣的通用增強(Joliet和RockRidge)。Growlsofs提供了一種簡單的將文件或目錄儲存於至DVD燒錄盤的方法。先用使用mkisofs工具來新增一個映像,並且無需在將該映像儲存於至硬碟之前就燒錄下來。其基本的指令格式如下:

#growisofs -dvd-compat -Z /dev/dvd -J -R /path/to/home/cao


  此指令將/path/to/home/cao目錄下的文件製作一個映像並且燒錄到的DVD光碟。
二、網路制作備份

  將MYSQL資料放在一台電腦上是不安全的,所以應當把資料制作備份到區域網路中其他電腦中。假設Mysql伺服器IP位址是:192.168.1.3。區域網路使用Linux的遠端電腦IP位址是192.168.1.17;區域網路使用Windows的遠端電腦IP位址是192.168.1.18。網路拓撲見圖1.

http://img356.imageshack.us/img356/397/spqscr14rw.jpg
1. 通過NFS網路制作備份

  類似於windows的網路共享,UNIX(Linux)系統也有自己的網路共享,那就是NFS(網路文件系統),在linux客戶端掛接(mount)NFS磁牒共享之前,必須先組態好NFS服務端。linux系統NFS服務端組態方法如下:

  (1)修改 /etc/exports,增加共享目錄

/export/home/sunky 192.168.1.17(rw)

/export/home/sunky1 *(rw)

/export/home/sunky2 linux-client(rw)


  註:/export/home/目錄下的sunky、sunky1、sunky2是準備共享的目錄,10.140.133.23、*、linux-client是被允許掛接此共享linux客戶端機的IP位址或主機名。如果要使用主機名linux-client必須在服務端主機/etc/hosts文件裡增加linux-client主機ip定義。格式如下:


  192.168.1.17 linux-client


  若修改/etc/export文件增加新的共享,應先停止NFS服務,再啟動NFS服務方能使新增加的共享起作用。使用指令exportfs -rv也可以達到同樣的效果。linux客戶端掛接(mount)其他linux系統或UNIX系統的NFS共享。這裡我們假設192.168.1.17是NFS服務端的主機IP位址,當然這裡也可以使用主機名,但必須在本地機/etc/hosts文件裡增加服務端ip定義。/export/home/sunky為服務端共享的目錄。如此就可以在linux客戶端通過/mnt/nfs來訪問其它linux系統或UNIX系統以NFS方式共享出來的文件了。

把MYSQL資料制作備份到使用Linux的遠端電腦需要在兩端都安裝NFS傳輸協定(NetworkFile System),遠端NFS電腦安裝NFS傳輸協定後還要修改組態文件:/etc/exports,加入一行:


/usr/backups/mysql/ 192.168.1.17 (rw, no_root_squash)


  表示將/usr/backups/mysql/目錄共享。這個目錄具有遠端root用戶讀寫權限。儲存NFS組態文件,然後使用指令:


#exportfs -a –r


  然後重新啟動NFS服務:


#service nfsd start


  遠端電腦設定後,在MYSQL伺服器/mnt 目錄下建立一個backup_share目錄:


#mkdir /mnt/backup_share


  將遠端的Linux電腦的/usr/backups/mysql/目錄掛載到MYSQL伺服器的/mnt/backup_share目錄下:

# mount -t nfs 192.168.1.17:/usr/backups/mysql /mnt/backup_share


  將目錄掛載進來後,只要進入/mnt/backup_share 目錄,就等於到了IP位址:192.168.1.7那部NFS電腦的/usr/backups/mysql目錄中。下面使用mysqldump把「phpbb_db_backup」制作備份到遠端電腦:


# mysqldump phpbb_db_backup > /mnt/backup_share/ phpbb_db_backup.2005-5-6


  2. 通過Samba網路制作備份


  Windows網路共享的核心是SMB/CIFS,在linux下要掛接(mount)windows的磁牒共享,就必須安裝和使用samba軟體包。現在流行的linux發行版絕大多數已經包含了samba軟體包,如果安裝linux系統時未安裝samba請首先安裝samba。當然也可以到www.samba.org網站下載samba軟體包,現在最新的版本是3.0.10版。然後Windows電腦上建立一個目錄(/arc)並且共享,賦予其讀寫權限。同樣在MYSQL伺服器/mnt 目錄下建立一個backup_share1目錄,然後進行掛載:

# mount -t smbfs -o username=cjh, password=XXXX //192.168.1.18/arc /mnt/backup_share


  最後使用指令進行制作備份:

# mysqldump phpbb_db_backup > /mnt/backup_share/ phpbb_db_backup.2005-5-6


  Mysql是一個功能強大的資料庫,需要在實踐中多練習才能熟練掌握,本文介紹Mysql的網路制作備份方法。希望對大家有所說明 。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次
回覆時引用此帖
發文 回覆



發表規則
不可以發文
不可以回覆主題
不可以上傳附加檔案
不可以編輯您的文章

論壇啟用 BB 語法
論壇啟用 表情符號
論壇啟用 [IMG] 語法
論壇禁用 HTML 語法
Trackbacks are 禁用
Pingbacks are 禁用
Refbacks are 禁用


所有時間均為台北時間。現在的時間是 06:34 PM


Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.


SEO by vBSEO 3.6.1