數(shù)據(jù)庫的自動(dòng)備份,可以減輕維護(hù)者的工作量也便于系統(tǒng)恢復(fù),對(duì)于比較重要的數(shù)據(jù)庫,最好還是設(shè)置下自動(dòng)備份。
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括宜豐網(wǎng)站建設(shè)、宜豐網(wǎng)站制作、宜豐網(wǎng)頁制作以及宜豐網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,宜豐網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到宜豐省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
工具/原料
navicat for mysql
mysql 5.5
方法/步驟
打開navicat客戶端,連上mysql后,雙擊左邊你想要備份的數(shù)據(jù)庫。點(diǎn)擊“計(jì)劃”,再點(diǎn)擊“新建批處理作業(yè)”。
雙擊上面的可用任務(wù),它就會(huì)到下面的列表里去,代表你選擇了這個(gè)任務(wù)。
點(diǎn)擊保存,彈出個(gè)命名對(duì)話框,給這個(gè)任務(wù)取個(gè)名字,點(diǎn)擊“確定”
點(diǎn)擊“設(shè)置”計(jì)劃任務(wù)。
彈出的對(duì)話框,選擇“計(jì)劃”,再點(diǎn)擊“新建”。
這里設(shè)置為從2014年1月24號(hào)起每天早上九點(diǎn)備份該數(shù)據(jù)庫。如果想提高備份頻率、或者設(shè)置備份截止日期,請(qǐng)點(diǎn)擊“高級(jí)”。
高級(jí)選項(xiàng)可以把備份設(shè)置的更精細(xì),比如這里設(shè)置的是在24小時(shí)內(nèi)每隔2小時(shí)就備份一次。加上前面的基本設(shè)置,任務(wù)計(jì)劃就是:從2014年1月24號(hào)開始,每天九點(diǎn),每隔2小時(shí)備份一次,每天的備份都持續(xù)24小時(shí)。
最后,輸入電腦密碼就大功告成。
你這個(gè)不應(yīng)該問"php可以做到嗎?",而該問"數(shù)據(jù)庫能做到嗎?"
用管理員登錄重置或者用戶登錄時(shí)判斷日期后用php操作數(shù)據(jù)庫重置.如果想通過php,不需要任何登錄執(zhí)行的話,那考慮的是怎么在不登錄情況下把日期傳過去.最終還是php操作,不是數(shù)據(jù)庫自動(dòng)進(jìn)行.綜上,php不能做到.
你的mysql是裝在linux上的嗎?你是想手動(dòng)備份還是自動(dòng)備份?主要用到mysqldump命令,紅黑聯(lián)盟里有個(gè)腳本寫的很詳細(xì),不過有用的估計(jì)只有兩行。
1、查看磁盤空間情況:
既然是定時(shí)備份,就要選擇一個(gè)空間充足的磁盤空間,避免出現(xiàn)因空間不足導(dǎo)致備份失敗,數(shù)據(jù)丟失的惡果!
存儲(chǔ)到當(dāng)前磁盤這是最簡單,卻是最不推薦的;服務(wù)器有多塊硬盤,最好是把備份存放到另一塊硬盤上;有條件就選擇更好更安全的存儲(chǔ)介質(zhì);
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 50G 46G 1.6G 97% /
tmpfs 1.9G 92K 1.9G 1% /dev/shm
/dev/sda1 485M 39M 421M 9% /boot
/dev/mapper/VolGroup-lv_home 534G 3.6G 503G 1% /home123456123456
2、創(chuàng)建備份目錄:
上面我們使用命令看出/home下空間比較充足,所以可以考慮在/home保存?zhèn)浞菸募?/p>
cd /home
mkdir backup
cd backup123123
3、創(chuàng)建備份Shell腳本:
注意把以下命令中的DatabaseName換為實(shí)際的數(shù)據(jù)庫名稱;
當(dāng)然,你也可以使用其實(shí)的命名規(guī)則!
vi bkDatabaseName.sh11
輸入/粘貼以下內(nèi)容:
#!/bin/bash
mysqldump -uusername -ppassword DatabaseName /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql1212
對(duì)備份進(jìn)行壓縮:
#!/bin/bash
mysqldump -uusername -ppassword DatabaseName | gzip /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz1212
注意:
把 username 替換為實(shí)際的用戶名;
把 password 替換為實(shí)際的密碼;
把 DatabaseName 替換為實(shí)際的數(shù)據(jù)庫名;
4、添加可執(zhí)行權(quán)限:
chmod u+x bkDatabaseName.sh11
添加可執(zhí)行權(quán)限之后先執(zhí)行一下,看看腳本有沒有錯(cuò)誤,能不能正常使用;
./bkDatabaseName.sh11
5、添加計(jì)劃任務(wù)
檢測(cè)或安裝 crontab
確認(rèn)crontab是否安裝:
執(zhí)行 crontab 命令如果報(bào) command not found,就表明沒有安裝
# crontab
-bash: crontab: command not found
有很多軟件可以使用,比如phpmyadmin,sqlyog等等
下載一個(gè)phpmyadmin并且配置好(網(wǎng)上有如何配置),其中就有備份還原數(shù)據(jù)庫的圖標(biāo),很簡單
補(bǔ)充:----------------------
對(duì)啊,點(diǎn)導(dǎo)出,然后執(zhí)行就可以了啊
$msgs[]="服務(wù)器備份目錄為backup";
$msgs[]="對(duì)于較大的數(shù)據(jù)表,強(qiáng)烈建議使用分卷備份";
$msgs[]="只有選擇備份到服務(wù)器,才能使用分卷備份功能";
show_msg($msgs);