大家知道MySQL備份嗎?下面我們就給大家詳細介紹一下吧!我們積累了一些經驗,在此拿出來與大家分享下,請大家互相指正。在數據庫表丟失或損壞的情況下,備份你的數據庫是很重要的。如果發生系統崩潰,你肯定想能夠將你的表盡可能丟失最少的數據恢復到崩潰發生時的狀態。
備份策略一:直接拷貝數據庫文件(不推薦)
備份策略二:使用mysqlhotcopy備份數據庫(完全備份,適合小型數據庫備份)
備份策略三:使用mysqldump備份數據庫(完全+增量備份,適合中型數據庫備份)
備份策略四:使用主從復制機制(replication)(實現數據庫實時備份)
備份策略一、直接拷貝數據庫文件
直接拷貝數據文件最為直接、快速、方便,但缺點是基本上不能實現增量備份。為了保證數據的一致性,需要在備份文件前,執行以下 SQL 語句:
FLUSH TABLES WITH READ LOCK;
也就是把內存中的數據都刷新到磁盤中,同時鎖定數據表,以保證拷貝過程中不會有新的數據寫入。這種方法備份出來的數據恢復也很簡單,直接拷貝回原來的數據庫目錄下即可。
備份策略二、使用mysqlhotcopy備份數據庫
mysqlhotcopy 是一個 PERL 程序,最初由Tim Bunce編寫。它使用 LOCK TABLES、FLUSH TABLES 和 cp 或 scp 來快速備份數據庫。它是備份數據庫或單個表的最快的途徑,但它只能運行在數據庫文件(包括數據表定義文件、數據文件、索引文件)所在的機器上,並且mysqlhotcopy 只能用於備份 MyISAM表。
本備份策略適合於小型數據庫的備份,數據量不大,可以采用mysqlhotcopy程序每天進行一次完全備份。
備份策略布置:
(1)、安裝DBD-mysql perl模塊,支持mysqlhotcopy腳本連接到MySQL數據庫。
shell> tar -xzvf DBD-mysql-4.005.tar.gz
shell> cd DBD-mysql-4.005
shell> unset LANG
shell> perl Makefile.PL -mysql_config=/usr/local/mysql/bin/mysql_config -testuser=root -testpassword=UserPWD
shell> make