本文目錄一覽:
怎麼定時自動備份mysql數據表
一、對於Windows主機
==============
假想環境:
MySQL
安裝位置:C:\MySQL
論壇資料庫名稱為:bbs
MySQL
root
密碼:123456
資料庫備份目的地:D:\db_backup\
@echo
off
C:\MySQL\bin\mysqladmin
-u
root
–password=123456
shutdown
C:\MySQL\bin\mysqldump
–opt
-u
root
–password=123456
bbs
D:\db_backup\bbs.sql
C:\MySQL\bin\mysqld-nt
將以上代碼保存為backup_db.bat
然後使用Windows的「計劃任務」定時執行該腳本即可。(例如:每天凌晨5點執行back_db.bat)
二、對於Linux主機
===========
假想環境:
MySQL
安裝位置:/usr/local/mysq
論壇資料庫名稱為:bbs
MySQL
root
密碼:123456
資料庫備份目的地:/var/db_backup/
#!
/bin/bash
/usr/local/mysql/bin/mysqladmin
-u
root
–password=123456
shutdown
/usr/local/mysql/bin/mysqldump
–opt
-u
root
–password=123456
bbs
/var/db_backup/bbs.sql
/usr/local/mysql/bin/mysqld_safe
–user=mysql
將上述代碼保存在/usr/local/sbin/backup_db.sh
對該腳本賦予執行許可權:
#
chmod
755
/usr/local/sbin/backup_db.sh
加入crontab中自動執行:
#
crontab
-e
加入:
5
*
*
*
/usr/local/sbin/backup_db.sh
如何定時備份Mysql資料庫
資料庫的自動備份,可以減輕維護者的工作量也便於系統恢復,對於比較重要的資料庫,最好還是設置下自動備份。
工具/原料
navicat for mysql
mysql 5.5
方法/步驟
打開navicat客戶端,連上mysql後,雙擊左邊你想要備份的資料庫。點擊「計劃」,再點擊「新建批處理作業」。
雙擊上面的可用任務,它就會到下面的列表裡去,代表你選擇了這個任務。
點擊保存,彈出個命名對話框,給這個任務取個名字,點擊「確定」
點擊「設置」計劃任務。
彈出的對話框,選擇「計劃」,再點擊「新建」。
這裡設置為從2014年1月24號起每天早上九點備份該資料庫。如果想提高備份頻率、或者設置備份截止日期,請點擊「高級」。
高級選項可以把備份設置的更精細,比如這裡設置的是在24小時內每隔2小時就備份一次。加上前面的基本設置,任務計劃就是:從2014年1月24號開始,每天九點,每隔2小時備份一次,每天的備份都持續24小時。
最後,輸入電腦密碼就大功告成。
如何使用crontab每天自動備份Mysql資料庫
1、建立自動備份腳本
為了使資料庫備份和恢復的符合我們的實際要求(備份保留七天,每天凌晨備份一次),用一段符合要求的Shell腳本來實現整個備份過程的自動化。
[root@mysqltest ~]# vim mysql-backup.sh
#!/bin/bash
##作者:Barlow##
##最後修訂:2013-6-25##
#腳本作用:備份Mysql資料庫
#
#設定備份保留天數K
K=7
#
TODAY=`date ‘+%Y%m%d’`
KDAY=`date -d “$TODAY – $K day” ‘+%Y%m%d’`
BACKDIR=/var/mysqlbak/$TODAY
KDAYDIR=/var/mysqlbak/$KDAY
mkdir -p $BACKDIR
#
# The Password of MySQL
ROOTPASS=******* ##將*替換為實際mysql資料庫的root密碼
#
# Get the Name of Database
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`
#
# Backup with Database
for dbname in $DBLIST
do
mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy
done
#
#刪除過期備份
if [ -d “$KDAYDIR” ];then
rm -rf $KDAYDIR
exit
fi
改變腳本許可權,root具有完全許可權,其他用戶沒有任何許可權:
[root@mysqltest ~]# chmod 700 mysql-backup.sh
運行一次腳本:
[root@mysqltest ~]# ./mysql-backup.sh
查看運行結果:
[root@mysqltest ~]# ll /var/mysqlbak/20130625/
mysql/ wordpress/
[root@mysqltest ~]# ll /var/mysqlbak/20130625/
總用量 8
drwxr-x—. 2 mysql mysql 4096 6月 25 14:26 mysql
drwxr-x—. 2 mysql mysql 4096 6月 25 14:26 wordpress
可以看到備份已經成功完成。
2、創建自動任務每天運行
[root@mysqltest ~]# crontab -e
00 01 * * * /root/mysql-backup.sh
##每天凌晨1點運行一次
如何在linux下實現mysql資料庫每天自動備份
1. 寫個自動備份的腳本autobackup.sh,內容如下
#!/bin/bash
mysqldump -p databasename mydata.sql
2. 更改其為可執行文件 chmod +x autobackup.sh
3. 通過crontab讓系統自動運行這個腳本就好了,如crontab -e
0 0 * * * /路徑到/autobackup.sh
第一個0表示分鐘,第二個0表示0小時也就是零辰第三個*表示每天,第四個*表示每月,第五個*表示每周
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/287094.html