想在linux实现这个功能,用vixie-cron调度一个job,job的内容就是先用mysqlchk检查指定数据库[code=BatchFile]mysqlcheck --auto-repair --optimize --user=MyLogin --password=MyPassword --databases MyDatabase[/code]然后对于出错的表进行及时的fix[code=BatchFile]myisamchk --recover /usr/mysql/MyDatabase/MyTable[/code]不知道各位有啥思路
repairs are done after all tables have been checked.这个参数对于myisam的表来说,会不会自动调用 myisamchk --recover /usr/mysql/MyDatabase/MyTable 呢?
定期对表进行检查而非等到问题出现后再检查数据库表是一个好主意。检查和修复MyISAM表的一个方式是使用CHECK TABLE和REPAIR TABLE语句。参见13.5.2.3节,“CHECK TABLE语法”和13.5.2.6节,“REPAIR TABLE语法”。检查表的另一个方法是使用myisamchk。为维护目的,可以使用myisamchk -s检查表。-s选项(简称--silent)使myisamchk以沉默模式运行,只有当错误出现时才打印消息。
Warning: option 'read_buffer_size': unsigned value 18446744073709551615 adjusted to 4294967295
Warning: option 'write_buffer_size': unsigned value 18446744073709551615 adjusted to 4294967295
Warning: option 'sort_buffer_size': unsigned value 18446744073709551615 adjusted to 4294967295