1. 程式人生 > >Linux定時備份資料庫

Linux定時備份資料庫

  • 摘要:一、用命令實現備份首頁進入mysql的bin目錄1、備份資料#mysqldump-uusername-ppassworddiscuz>discuz_2010-04-01.sql這樣就把discuz資料庫所有的表結構和資料備份到discuz_2010-04-01.sql裡了,如果資料量大會佔用很大空間,這時可以利用gzip壓縮資料,命令如下:#mysqldump-uusername-ppassworddiscuz|gzip>discuz_2010-04-01.sql
  • 一、用命令實現備份 

    首頁進入mysql的bin目錄 

    1、備份資料 
    #mysqldump -uusername -ppassword discuz > discuz_2010-04-01.sql 

    這樣就把discuz資料庫所有的表結構和資料備份到discuz_2010-04-01.sql裡了, 
    如果資料量大會佔用很大空間,這時可以利用gzip壓縮資料, 

    命令如下: 
    #mysqldump -uusername -ppassword discuz | gzip > discuz_2010-04-01.sql.gz 

    系統崩潰,重建系統時,可以這樣恢復資料: 
    #mysql -uusername -ppassword discuz < discuz_2010-04-01.sql 

    從壓縮檔案直接恢復: 
    #gzip < discuz_2010-04-01.sql.gz | mysql -uusername -ppassword discuz 

    二、利用crontab,系統每天定時備份mysql資料庫 

    1、建立儲存備份檔案的路徑/mysqldata 
    #mkdir /mysqldata 

    2、建立/usr/sbin/bakmysql檔案 
    輸入以下內容: 
    mysqldump -umysql -p51uptry uptry | gzip > /mysqldata/uptry`date +%Y-%m-%d_%H%M%S`.sql.gz 

    3、修改檔案屬性,使其可以執行 
    #chmod +x /usr/sbin/bakmysql 

    4、修改/etc/crontab 
    在下面新增 
    01 3 * * * root /usr/sbin/bakmysql 
    表示每天3點鐘執行備份 crontab使用說明 

    5、重新啟動crond 
    #/etc/rc.d/init.d/crond restart 
    完成。 

    三、資料的恢復 

    首頁進入mysql的bin目錄 
    建立資料庫 
    #mysqladmin create discuz 
    恢復資料 
    #mysql discuz < /mysqldata/discuz_2010-04-01.sql