簡體   English   中英

使用Coldfusion備份MySQL數據庫

[英]Backup MySQL db with Coldfusion

我想要做的是在Coldfusion中運行備份任務(可能在計划任務中),它將備份MySql數據庫中的結構和數據。

我使用的托管服務器總是阻止使用cfexecute用於安全目的,所以我不能使用mysqldump。

例如

<cfexecute name="c:\program files\mysql\mysql server 4.1\bin\mysqldump"
 arguments="--user=xxx --password=yyy dharma" 
 outputfile="#expandPath("./ao.sql")#" timeout="30"/>

(來自雷蒙德卡姆登)

我還有其他選擇嗎?

備份數據庫文件是一個好主意,但是如果你將它們備份到同一個驅動器,並且驅動器出現故障,那么你就搞砸了。 我每天將我的數據庫備份到本地系統。 這是我在.bat文件中使用的腳本

@ECHO OFF


@REM Set dir variables. Use ~1 format in win2k

SET basedir={directory where zip files will be put}
SET workdir={Working directory}
SET mysqldir=c:\PROGRA~1\mysql\mysqls~1.5\bin
SET gzipdir=c:\PROGRA~2\GnuWin32\bin
SET mysqlpassword={db password}
SET mysqluser={db user}
SET host={host IP or domain name}
for /f "tokens=1-4 delims=/ " %%a in ('date/t') do ( 
set mm=%%a
set dd=%%b
set yy=%%c
)

ECHO Check connection
PING -n 1 %host%|find "Reply from " >NUL
IF NOT ERRORLEVEL 1 goto :SUCCESS
IF ERRORLEVEL 1 goto :END

:SUCCESS
ECHO Connection found, run backup

@REM Change to mysqldir
CD %mysqldir%

@REM dump database. This is all one line
mysqldump -h %host% -u %mysqluser% -p%mysqlpassword% --databases {space delimited list of databases to backup >%workdir%\backup.sql

@REM Change to workdir  
CD %workdir%

@REM Zip up database
%gzipdir%\gzip.exe backup.sql

@REM Move to random file name
MOVE backup.sql.gz %basedir%\%yy%_%mm%_%dd%_backup.gz

@REM Change back to base dir
CD %basedir%

:END
ECHO No connection, do not run

我使用Windows任務計划程序每晚運行它。 您可以更新它以刪除舊備份。

您需要確保安裝了gzip。

這將把DB的副本放在本地系統上 - 然后我使用備份服務將備份備份到另一個異地系統。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM