MySql for Windows,MySql管理员:计划备份不起作用

时间:2011-11-07 09:40:21

标签: mysql windows mysqladministrator

我的问题有点具体,但我希望有人有这方面的经验。

我正在运行安装了MySql for Windows的Windows 2008服务器。这是MySql 5.2,该软件包包含“MySql Administrator”。在那里,您可以备份特定的数据库。当我配置备份并且还说它需要每天凌晨3点左右完成时,它不会自动运行。只有当我按下“立即执行备份”时才能保存.SQL文件然后备份它才能正常工作。当我要求它自动触发时,不会创建任何内容,甚至不会创建日志文件。我已经检查了所选文件夹的权限,并且我添加了用户“Everyone”,并拥有排除任何权限问题的所有权利。没效果。

我一直在谷歌搜索,我无法找到解决方案。有谁知道为什么我的自动备份通过MySQL管理员无法在MS Windows 2008上运行,为什么它甚至没有创建日志文件?

7 个答案:

答案 0 :(得分:3)

以最低许可创建用户

mysql> grant select,lock tables on foo.* to bar@localhost identified by'backup'; 
mysql> flush privileges;

按照以下方式创建批量文件并安排其 * 这将使用db name + date and time *

备份指定路径中的文件
@echo off
set mySqlPath=C:\[path to my sql]\mysql5.1.36
set dbUser=bar
set dbPassword=backup
set dbName=MyDB1

set hr=%time:~0,2%
if "%hr:~0,1%" equ " " set hr=0%hr:~1,1%

set file=%dbName%.%date:~-4,4%%date:~-10,2%%date:~-7,2%_%hr%%time:~3,2%%time:~6,2%.sql
set path=C:\[path to folder]\mysql_bak

echo Running dump for database %dbName% ^> ^%path%\%file%
"%mySqlPath%\bin\mysqldump.exe" -u %dbUser% -p%dbPassword% --result-file="%path%\%file%" %dbName%
echo Done!

答案 1 :(得分:2)

我还尝试使用版本1.2.17和win 7.我遇到了同样的问题.MySQL ADMIN通过Windows调度程序安排备份。我真的不知道为什么,但是当我在具有ADMIN帐户的用户下安排备份(当我保存新创建的项目时)它没有运行。当我按照标准ACCOUNT安排备份时,它运行正常。为了解决这个问题,我在WIN 7中定义了一个新的标准帐户。我正在我的主帐户下登录获胜7并在新帐户下安排备份。现在它工作正常。

答案 2 :(得分:2)

我得到了解决方案,当您创建计划备份时, MySQL管理员将信息用于您的系统用户名和密码。那段时间给出了正确的系统用户名和密码

答案 3 :(得分:1)

我猜它可能与windows" cron"工作。无论如何,这对我有用:

http://realm3.com/articles/how_to_schedule_regular_mysql_backups_in_windows

当然,您必须手工完成所有事情,但也更好。我在PostgreSQL中遇到了同样的问题,因为o windows" at"与linux" cron"不同。从那以后,我开始做自己的" cron"作业。

同时检查一下: http://kedar.nitty-witty.com/blog/scheduled-backup-mysql-administrator-windows-scheduler-odd

希望它有所帮助! :)

答案 4 :(得分:1)

我会发布我的发现,让其他人享受。

我没有让MySQL Administrator备份功能自动运行,而是使用了@mOrSa的建议

我的发现如下: 我使用这段代码创建了一个批处理文件:

@echo off
set zy=2011
set zm=1
set zd=17
set zz = ((zy*100)+zm)*100+zd
Set hr=%TIME:~0,2%
Set mn=%TIME:~3,2%
echo Running dump...
C:\Progra~1\MySQL\MYSQLS~1.5\bin\mysqldump -uuser -password --port=3307 --result-file="c:\MySqlBackups\backup_%zz%_%hr%%mn%.sql" meibergen_dbo
echo Done!
echo Deleting old files
forfiles /P "C:\MySqlBackups" /S /M *.sql /D -7 /C "cmd /c del @PATH"
echo Done!

这使得所选文件夹中的.SQL文件的名称格式为“backup_20110825_14:54.sql”。它还会删除该文件夹中超过7天的所有文件。我有Windows Server 2008,因此文件“forfiles.exe”是system32文件夹中的标准安装。如果您没有该程序,可以免费下载到某处。

之后,我在Windows任务计划程序中设置了运行此批处理文件的计划任务。确保您已在计划中授予适当的权利。它每天执行。

答案 5 :(得分:0)

简单的技巧是创建存储连接(在Win7和Win2008上使用MySQL Administrator 1.2.17进行测试download it from here, it's among MySQL GUI tools)。

  1. 打开MySQL Administrator,然后进入菜单Tools>选项

  2. 在弹出窗口中选择左侧的“连接”,然后点击“新建”按钮 连接”。

  3. 填写您的连接值:用户名,密码, 主持人......并保存。

  4. 关闭MySQL Administartor并重新打开它,但是 这次通过选择新存储的连接来连接 在选择列表的步骤(3)中创建(选择列表是登录窗口中的第一个字段)

  5. 现在您可以创建备份并安排备份,并且计划将像魅力一样工作。

答案 6 :(得分:0)

我知道这是一个老问题,但我最近几天遇到了同样的问题并且搜索解决方案我找不到如何解决我的问题,但我在事件日志中找到了一些信息,我记得我有另一个连接(显然,事件日志告诉我,所以我用相同的名字建立了新的连接,事件日志显示我和瞧,问题已解决。