My SQL数据库下损坏数据的恢复操作过程总结
2008-09-03 11:07:12 来源:WEB开发网MySQL数据目录不是太难理解的。每一个数据库对应一个子目录,每个子目录中包含了对应于这个数据库中的数据表的文件。每一个数据表对应三个文件,它们和表名相同,但是具有不同的扩展名。tblName.frm文件是表的定义,它保存了表中包含的数据列的内容和类型。tblName.MYD文件包含了表中的数据。tblName.MYI文件包含了表的索引(例如,它可能包含lookup表以帮助提高对表的主键列的查询)。
要检查一个表的错误,只需要运行myisamchk(在MySQL的bin目录下)并提供文件的位置和表名,或者是表的索引文件名:
% myisamchk /usr/local/mysql/var/dbName/tblName
% myisamchk /usr/local/mysql/var/dbName/tblName.MYI
上面的两个命令都可以执行对指定表的检查。要检查数据库中所有的表,可以使用通配符:
% myisamchk /usr/local/mysql/var/dbName/*.MYI
要检查所有数据库中的所有表,可以使用两个通配符:
% myisamchk /usr/local/mysql/var/*/*.MYI
如果不带任何选项,myisamchk将对表文件执行普通的检查。如果你对一个表有怀疑,但是普通的检查不能发现任何错误,你可以执行更彻底的检查(但是也更慢!),这需要使用–extend-check选项:
% myisamchk –extend-check /path/to/tblName
对错误的检查是没有破坏性的,这意味着你不必担心执行对你的数据文件的检查会使已经存在的问题变得更糟。另一方面,修复选项,虽然通常也是安全的,但是它对你的数据文件的更改是无法撤消的。因为这个原因,我们强烈推荐你试图修复一个被破坏的表文件时首先做个备份,并确保在制作这个备份之前你的MySQL服务是关闭的。
我在win2003下通过命令提示符,输入:
- ››sql server自动生成批量执行SQL脚本的批处理
- ››Mysql高性能备份方案解决数据不间断访问
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››mysql 定时更新表字段列的值状态(存储过程+定时任...
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››MySQL 生成随机密码
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››mysql创建新用户的命令
- ››MySql Blob图片类型存储Bug解决:索引超出了数组界...
更多精彩
赞助商链接