您的位置:首页 > 数据库 > MySQL

用命令行参数备份mysql数据

2008-07-26 00:28 288 查看
最近在做mysql数据库备份和恢复操作,其中备份部分分为完全备份和增量备份,设计思路为完全备份和恢复采用mysql自带的命令行进行备份;增量备份为查询数据表结构数据进行备份。

在刚开始做测试时,出现了一个奇怪的问题,就是用命令行在dos命令中执行可以备份mysql数据库数据,但是用程序执行该命令备份出的数据却为空。

备份语句如下:
cmd /c mysqldump -h 127.0.0.1 -u root -p111111 cms>e:/cms/cms.sql

当时胡乱改了一气究竟改哪自己也忘记了,总之可以备份出数据了,所以也没有多想。但是今天在做测试时又出现了同样的问题,于是就对该问题进行了跟踪,原来发现,是因为没有配置mysql的环境变量所致。

我想或许会有人也会遇到同样的问题,所以说一下我的解决建议:

一:在我的电脑——属性——高级——环境变量——系统变量

找到path把mysql的路径写上就可以了D:/orcale/bin;C:/Program Files/Oracle/jre/1.1.8/bin;%SystemRoot%/system32;%SystemRoot%;%SystemRoot%/System32/Wbem;C:/Program Files/MySQL/MySQL Server 5.0/bin;

二:在程序中执行备份命令之前,先把用批处理写环境变量

操作为:

echo off&setlocal enabledelayedexpansion
:begin
cls
set/p path_=请输入你要添加的环境变量的路径:
if not defined path_ goto error
for,/f,"skip=4 tokens=1,2,*",%%a,in,('reg query "HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Control/Session Manager/Environment" /v Path'),do,(
echo 当前的环境变量为:
echo %%c
echo;
set/p yesno=是否确认将"%path_%"添加到系统环境变量中去?[Y]/

if /i "!yesno!"=="y" (
reg add "HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Control/Session Manager/Environment" /v Path /t REG_EXPAND_SZ /d "%%c;%path_%" /f
)
goto :eof
)
pause
goto :Eof
:error
echo 输入错误,请重新输入
pause
goto begin
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: