关于数据库定时清理问题

gungod 2011-04-12 09:29:49
环境:
windowsXP + mysql 5.0.83

使用windows的计划任务添加了任务:
AT 08:58 /every:m,t,w,th,f,s,su "d:\mysql\mysql server 5.0\bin\mysql.exe" -u root -p123 testdb < c:\cleartby.sql

系统在08:58开始执行,到现在09:26,“任务计划”中的该项任务的状态仍然是“正在运行”;
中间我还以为是我使用第3方软件操作MYSQL的问题,关闭了这个管理软件,情况依旧。
且查询过要被清理的表,数据依旧存在。


后来,我在cmd下单独执行:
"d:\mysql\mysql server 5.0\bin\mysql.exe" -u root -p123 testdb < c:\cleartby.sql
不到3秒的功夫执行完毕,且查询过要被清理的表,数据被清理。


这是什么问题呢?
...全文
260 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
gungod 2011-04-14
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 acmain_chm 的回复:]
AT 08:58 /every:m,t,w,th,f,s,su '"d:\mysql\mysql server 5.0\bin\mysql.exe" -u root -p123 testdb < c:\cleartby.sql'
[/Quote]

提示“系统找不到指定文件”,去掉单引号才能添加计划。
ACMAIN_CHM 2011-04-13
  • 打赏
  • 举报
回复
AT 08:58 /every:m,t,w,th,f,s,su '"d:\mysql\mysql server 5.0\bin\mysql.exe" -u root -p123 testdb < c:\cleartby.sql'
gungod 2011-04-13
  • 打赏
  • 举报
回复
看来只能用BAT方式了,可惜了数据库密码是可见的。
gungod 2011-04-12
  • 打赏
  • 举报
回复
我输出了my.log,清空my.log执行命令;
1.测试查询hy_rt_b表,发现增加:
110412 11:06:12 2 Query select * from hy_rt_b
2.运行windows任务计划,发现增加;
110412 11:06:33 2 Statistics
wwwwb 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 gungod 的回复:]
我在my.ini加入
log=my.log
log-output=FILE
后,关闭MYSQL再启动就失败了, “发送系统错误1067”,
删除就OK了
[/Quote]
在[mysqld] 下?测试:没有问题啊
gungod 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wwwwb 的回复:]
配置my.ini或者 my.cnf
5.1后
[mysqld]
log=my.log
log-output=FILE
[/Quote]
我用的是MYSQL5.0不能加log-output=FILE这句。


[Quote=引用 9 楼 yangxiao_jiang 的回复:]
写到bat文件里,然后重定向log到一个文件里,查看文件的错误信息。
[/Quote]
同样的语句
"D:\MySQL\MySQL Server 5.0\bin\mysql.exe" -u root -p123 testdb < c:\cleartby.sql

写到BAT中,自动执行BAT,就成功了。

gungod 2011-04-12
  • 打赏
  • 举报
回复
我在my.ini加入
log=my.log
log-output=FILE
后,关闭MYSQL再启动就失败了, “发送系统错误1067”,
删除就OK了
wwwwb 2011-04-12
  • 打赏
  • 举报
回复
cleartby.sql什么内容
yangxiao_jiang 2011-04-12
  • 打赏
  • 举报
回复
写到bat文件里,然后重定向log到一个文件里,查看文件的错误信息。
wwwwb 2011-04-12
  • 打赏
  • 举报
回复
配置my.ini或者 my.cnf
5.1后
[mysqld]
log=my.log
log-output=FILE

gungod 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wwwwb 的回复:]
mysql打开日志没有,看看内容
[/Quote]
这个不会弄,怎么看?
wwwwb 2011-04-12
  • 打赏
  • 举报
回复
mysql打开日志没有,看看内容
gungod 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 acmain_chm 的回复:]
你的AT命令好像有问题,建议你直接用WINDOWS的计划任务的图形界面创建你的任务。
[/Quote]
刚使用图形界面了任务,看到他启动了CMD,唰的一下就不见了,但查询表数据依然存在,我把该任务的中的
“运行”的字串,拷贝到CMD运行,
"D:\MySQL\MySQL Server 5.0\bin\mysql.exe" -u root -p123 testdb < c:\cleartby.sql
执行成功!

[Quote=引用 4 楼 rucypli 的回复:]
控制面板》》事件查看器》》系统》》看你的计划任务的报错信息
[/Quote]
查过了,在任务执行的时间前后都没有信息;
rucypli 2011-04-12
  • 打赏
  • 举报
回复
控制面板》》事件查看器》》系统》》看你的计划任务的报错信息
ACMAIN_CHM 2011-04-12
  • 打赏
  • 举报
回复
你的AT命令好像有问题,建议你直接用WINDOWS的计划任务的图形界面创建你的任务。
gungod 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wwwwb 的回复:]
cleartby.sql什么内容,为什么不用MYSQL的EVENT
[/Quote]
据说EVENT 要MYSQL5.1版本才支持,我在官网只找到5.5的,太新不敢用,
而且,感觉windows任务比较简单。嘿嘿。
wwwwb 2011-04-12
  • 打赏
  • 举报
回复
cleartby.sql什么内容,为什么不用MYSQL的EVENT

56,675

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧