首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Cold聚变备份MySQL db

问用Cold聚变备份MySQL db
EN

Stack Overflow用户
提问于 2014-01-10 13:01:57
回答 1查看 914关注 0票数 4

我想要做的是在Cold聚变中运行一个备份任务(可能是在一个预定的任务中),它将备份MySql数据库中的结构和数据。

我使用的主机服务器总是阻止出于安全目的使用cfexecute,所以我不能使用mysqldump。

例如:

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

(来自雷蒙德·卡姆登)

我还有别的选择吗?

EN

回答 1

Stack Overflow用户

发布于 2014-01-10 13:58:30

备份数据库文件是个好主意,但是如果您将它们备份到相同的驱动器,而驱动器失败,那么您就完蛋了。我每天都将数据库备份到本地系统。下面是我在.bat文件中使用的脚本

代码语言:javascript
复制
@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的副本--然后我使用备份服务将备份到另一个场外系统。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21045064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档