关于mysql存储过程使用 check table
目前碰到个问题,断电后mysql表经常损坏,想做个自动修复的批处理。
1 mysql的my.INI设置自动修复,根本不起作用。
2 myisamcheck 工具也只能对每个表做修复,不能批量,linux里面支持*.*文件,windows不行。
只好写个循环,获得所有的表名,先check table,如果不是ok的,repair table。
但是发现存储过程里面根本没法得到 check table 的结果。
有什么办法吗??
现在只好在c代码里面循环获得check table的结果。
mysqlcheck
做个函数有返回值的
mysqlcheck 是自带的 exe,装mysql的时候我们只装了mysqld.exe,没其他的。。。。。。
你只能通过脚本程序获取到所有表名然后再逐一 check 了。没有什么好办法。
你的 mysql/bin 中应该有很多MYSQL提供的工具。
windows 下的myisamcheck 能对文件进行批量更改啊
myisamcheck -e 先check
myisamcheck -r -q 再快速修复
最重要的是看报什么错
出现outmemory error 的话
就要创建新的MYI文件
SQL code:
$ myisamchk -e "C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data\test\*.MYI"
批量是没问题的
我们在部署的时候对mysql重新定制过,只使用myisam表类型,工具等其他没必要的都去掉了。
嗯,看来只能把mysqlcheck加到定制包里面去。
但是真的没办法在 存储过程中获取 check table 和show tables这样的命令的
相关问答:
如题,这三个在win7下使用会有什么兼容性问题吗?
由于我最近在使用win7,就懒得进xp了!
自己用windows 2008有一年多了,没出现任何问题。
win7测试版也用过,不会有什么问题的,放心。
当然你最 ......
我用一个循环往数据库里面存文件,本来可以作为文件存放数据库里面只放文件的位置的,但是没有办法租的服务器网页空间大小有限制数据库没有限制。语句是这样的
public static final DataBase.MAXSIZE=102 ......
我现在学习MYSQL,问下mysql储存过程如何建立和使用,最好写成$sql="sql语句",$re=mysql_query($sql);谢谢
建议你先自己看一下文档中的例子。
http://dev.mysql.com/doc/refman/5.1/zh/stored-pro ......
select * from table where '123456789' like '%'+字段表+'%'
这句sql在sqlserver下通过,在mysql下有报错,mysql下如何实现这样的查询呢
SQL code:
select * from table whe ......
我对SQL SERVER和ACCESS比较熟,所以数据库的通用基础东西可以说都掌握的差不多了,我现在想要的就是以上两数据库的独特之处的介绍和应用介绍。
另外书最好对应最新版本 oracle是11g吧 10的也行;mysql是5.1吧
谢 ......