Linux網路備份MYSQL

來源:互聯網
上載者:User
筆者是一個中小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。

一、 本地備份

使用 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-5-6 

二、 備份資料到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應用程式可被用於掃描串連系統上的CD/DVD燒錄機,並且可以使用它來將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路徑來串連燒錄機。不同的系統和發行版中用於燒錄機的路徑不盡相同,所以最好的方法是查看發行版中的協助。在一些系統中,一個名為/dev/dvd的軟連結會被設定成指向可用的DVD燒錄機,在本文中,使用/dev/dvd來指定燒錄機,如果系統中路徑設定不同,那麼請使用合適的路徑將其取代。
(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.
 
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協議(Network File 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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.