在運維中需按期備份mysql,爲崩潰後的恢復數據作準備。通常分爲冷備和熱備,冷備就是停掉mysql服務,直接cp文件,可是在生產環境中,不多有機會這樣,通常都是在mysql提供服務的時候就進行備份,所以這牽扯到數據一致性的問題。因此,在MyISAM存儲引擎下,咱們的思路就是:鎖表 –>備份–>解鎖html
固然也可經過mysql自帶的工具 mysqlhotcopy 解決,事實上mysqlhotcopy是個perl程序,提供MyISAM下的鎖表備份解鎖操作。由於是perl腳本,因此須要機器上有PERL-DBD 模塊,否則會報錯: Can’t locate DBI.pm in @INC ,安裝過程很簡單,在這裏: perl-DBI鏈接mysqlpython
mysqlhotcopy也很簡單,參數可用 –help 查看mysql
# 備份test庫爲新的test_tmp庫,與test同級目錄 mysqlhotcopy --user=root --password=root test test_tmp # 備份test庫 到 /tmp/ 目錄下 mysqlhotcopy --user=root --password=root test /tmp/ # --checkpoint dbinfo.checkpoint 這個是指定存放操做記錄的數據庫/表 # --addtodest 增量備份,新的備份自動覆蓋掉原來的 mysqlhotcopy --user=root --password=root --checkpoint=dbinfo.checkpoint --addtodest test /tmp/