Linux定時備份資料庫
阿新 • • 發佈:2018-12-26
- 摘要:一、用命令實現備份首頁進入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