> IT面试 >

MYSQL 数据表修复及数据恢复面试题

1. MYSQL数据表在什么情况下容易损坏?

  •  服务器突然断电导致数据文件损坏。
  • 强制关机,没有先关闭mysql 服务等。

2. 数据表损坏后的主要现象是什么?

  • 从表中选择数据之时,得到如下错误:Incorrect key file for table: ‘…’. Try to repair it
  • 查询不能在表中找到行或返回不完全的数据。
  • Error: Table ‘p’ is marked as crashed and should be repaired 。
  • 打开表失败: Can’t open file: ‘×××.MYI’ (errno: 145) 。

3. 数据表损坏的修复方式有哪些?

  • 使用 myisamchk 来修复,具体步骤: 1)修复前将mysql服务停止。 2)打开命令行方式,然后进入到mysql的/bin目录。3)执行myisamchk –recover  数据库所在路径/*.MYI
  • 使用repair table 或者 OPTIMIZE  table命令来修复,REPAIR TABLE `table_name` 修复表 OPTIMIZE TABLE `table_name` 优化表 REPAIR TABLE 用于修复被破坏的表。
    OPTIMIZE TABLE 用于回收闲置的数据库空间,当表上的数据行被删除时,所占据的磁盘空间并没有立即被回收,使用了OPTIMIZE TABLE命令后这些空间将被回收,并且对磁盘上的数据行进行重排(注意:是磁盘上,而非数据库)
(责任编辑:IT)