以下的文章主要講述的是在Linux異構網絡中正確對MySQL數據庫進行備份(圖)主要是分成本地備份與備份數據到DVD盤片的介紹,以下就是文章的具體內容描述,希望會給你帶來一些幫助在此方面。
筆者是一個中小Linux網站的管理員,系統構架是:RHEL 4.0 + PHP 4.3 + MySQL(和PHP搭配之最佳組合) 4.03 +apache(Unix平台最流行的WEB服務器平台) 1.23。日均IP訪問量在200次,一個典型的Linux小型網站。由於是小型網站,所以沒有經費使用磁帶機進行系統備份,使用的DVD光盤刻錄機+網絡硬盤。
隨著Linux的應用日益廣泛,特別是在網絡應用方面,有大量的網絡服務器使用Linux操作系統。由於Linux的桌面應用和Windows相比還有一定的差距,所以在企業應用中往往是Linux和Windows操作系統共存形成異構網絡。在服務器端大多使用Linux和Unix的,PC端使用 Windows 9X/2000/XP。下面我們就講講在Linux異構網絡備份MySQL(和PHP搭配之最佳組合)。
一、 本地備份
MySQL數據庫的常用備份方法是使用使用實用程序MySQL(和PHP搭配之最佳組合)dump, 其命令格式如下:
# MySQL(和PHP搭配之最佳組合)dump [options] database [tables]
其參數的含義為:
options:代表MySQL(和PHP搭配之最佳組合)dump的選項,通過MySQL(和PHP搭配之最佳組合)dump –help可以查到。
database: 代表將要備份的數據庫
tables: 代表將要備份的表,如果不指定任何表,則備份整個數據庫。
使用 MySQL(和PHP搭配之最佳組合)dump進行備份非常簡單,如果要備份MySQL數據庫” phpbb_db_backup ”,使用命令:
#MySQL(和PHP搭配之最佳組合)dump –u -p phpbb_db_backup > /usr/backups/MySQL(和PHP搭配之最佳組合)/ phpbb_db_backup.2005.5.6
還可以使用gzip命令對備份文件進行壓縮:
#MySQL(和PHP搭配之最佳組合)dump phpbb_db_backup | gzip > /usr/backups/MySQL(和PHP搭配之最佳組合)/ phpbb_db_backup.2005.5.6。gz
恢復數據使用命令:
#MySQL(和PHP搭配之最佳組合) –u -p phpbb_db_backup
二、 備份數據到DVD盤片
隨著MySQL(和PHP搭配之最佳組合)數據量的增大,使用傳統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-8ro 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(和PHP搭配之最佳組合)數據放在一台計算機上是不安全的,所以應當把數據備份到局域網中其他計算機中。假設MySQL(和PHP搭配之最佳組合)服務器IP地址是:192.168.1.3。局域網使用Linux的遠程計算機IP地址是192.168.1.17;局域網使用Windows的遠程計算機IP地址是192.168.1.18。網絡拓撲見圖1.
(和PHP搭配之最佳組合)MySQL數據庫(圖)" />
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(和PHP搭配之最佳組合)數據備份到使用Linux的遠程計算機需要在兩端都安裝NFS協議NetworkFile System),遠程NFS計算機安裝NFS協議後還要修改配置文件:/etc/exports,加入一行:
/usr/backups/MySQL(和PHP搭配之最佳組合)/ 192.168.1.17 (rw, no_root_squash)
表示將/usr/backups/MySQL(和PHP搭配之最佳組合)/目錄共享。這個目錄具有遠程root用戶讀寫權限。保存NFS配置文件,然後使用命令:
#exportfs -a –r
然後重新啟動NFS服務:
#service nfsd start
遠程計算機設定後,在MySQL(和PHP搭配之最佳組合)服務器/mnt 目錄下建立一個backup_share目錄:
#mkdir /mnt/backup_share
將遠程的Linux計算機的/usr/backups/MySQL(和PHP搭配之最佳組合)/目錄掛載到MySQL(和PHP搭配之最佳組合)服務器的/mnt/backup_share目錄下:
# mount -t nfs 192.168.1.17:/usr/backups/MySQL(和PHP搭配之最佳組合) /mnt/backup_share
將目錄掛載進來後,只要進入/mnt/backup_share 目錄,就等於到了IP地址:192.168.1.7那部NFS計算機的/usr/backups/MySQL(和PHP搭配之最佳組合)目錄中。下面使用MySQL(和PHP搭配之最佳組合)dump把“phpbb_db_backup”備份到遠程計算機:
# MySQL(和PHP搭配之最佳組合)dump 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(和PHP搭配之最佳組合)服務器/mnt 目錄下建立一個backup_share1目錄,然後進行掛載:
# mount -t smbfs -o username=cjh, password=XXXX //192.168.1.18/arc /mnt/backup_share
最後使用命令進行備份:
# MySQL(和PHP搭配之最佳組合)dump phpbb_db_backup > /mnt/backup_share/ phpbb_db_backup.2005-5-6
MySQL(和PHP搭配之最佳組合)是一個功能強大的MySQL數據庫,需要在實踐中多練習才能熟練掌握,本文介紹MySQL(和PHP搭配之最佳組合)的網絡備份方法。希望對大家有所幫助。