MYISAM索引文件损坏的修复方法_Oracle数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

MYISAM索引文件损坏的修复方法

作者:黑客防线网安Oracle维护基地 来源:黑客防线网安Oracle维护基地 浏览次数:0

黑客防线网安网讯:使用MYISAM存储引擎,当创建一个表时,会出现三个文件:数据文件MYD,索引文件MYI,格式文件frm。当索引文件损坏时或者丢失时,可以用如下的方法进行修复。下面是实验过程。[mysql@testapp74...

使用MYISAM存储引擎当创建一个表时会出现三个文件:数据文件MYD,索引文件MYI,格式文件frm当索引文件损坏时或者丢失时,可以用如下的方法进行修复下面是实验过程。

[mysql@testapp74 notify]$ mv message_ignore.MYI message_ignore.MYI.bak
[mysql@testapp74 notify]$
[mysql@testapp74 notify]$ mysqld_safe &
[1] 26267
[mysql@testapp74 notify]$ 080630 14:19:03 mysqld_safe Logging to '/usr/mysql_data/log/alert.log'.
080630 14:19:03 mysqld_safe Starting mysqld daemon with databases from /usr/mysql_data/data
[mysql@testapp74 notify]$
[mysql@testapp74 notify]$
[mysql@testapp74 notify]$
[mysql@testapp74 notify]$ vi /usr/mysql_data/log/alert.log
080630 14:18:14 [Note] /usr/sbin/mysqld: Normal shutdown
080630 14:18:14 [Note] Event Scheduler: Purging the queue. 0 events
080630 14:18:16 InnoDB: Starting shutdown...
080630 14:18:19 InnoDB: Shutdown completed; log sequence number 162 783173592
080630 14:18:19 [Note] /usr/sbin/mysqld: Shutdown complete
080630 14:18:19 mysqld_safe mysqld from pid file /usr/mysql_data/data/testapp74.pid ended
080630 14:19:03 mysqld_safe Starting mysqld daemon with databases from /usr/mysql_data/data
080630 14:19:03 InnoDB: Started; log sequence number 162 783173592
080630 14:19:03 [Note] Event Scheduler: Loaded 0 events
080630 14:19:03 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.1.23-rc-community' socket: '/tmp/mysql.sock' port: 3306 MySQL Community Edition (GPL)

从上面可以看出,当一个表出现问题,mysql的警告日志并没有任何的错误出现。
[mysql@testapp74 notify]$ mysql -uroot
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 4
Server version: 5.1.23-rc-community MySQL Community Edition (GPL)
Type 'help;' or 'h' for help. Type 'c' to clear the buffer.
mysql> use notify
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql>
mysql>
mysql>
mysql>
mysql> select * from message_ignore limit 1; --当查询表时,会报错
ERROR 1017 (HY000): Can't find file: 'message_ignore' (errno: 2)
mysql> check table message_ignore;
+-----------------------+-------+----------+----------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+-----------------------+-------+----------+----------------------------------------------+
| notify.message_ignore | check | Error | Can't find file: 'message_ignore' (errno: 2) |
| notify.message_ignore | check | error | Corrupt |
+-----------------------+-------+----------+----------------------------------------------+
2 rows in set (0.03 sec)
mysql>
mysql> repair table message_ignore;
+-----------------------+--------+----------+----------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+-----------------------+--------+----------+----------------------------------------------+
| notify.message_ignore | repair | Error | Can't find file: 'message_ignore' (errno: 2) |
| notify.message_ignore | repair | error | Corrupt |
+-----------------------+--------+----------+----------------------------------------------+
2 rows in set (0.00 sec)

使用格式化文件frm重新创建索引文件

mysql> repair table message_ignore USE_FRM;
+-----------------------+--------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+-----------------------+--------+----------+----------+
| notify.message_ignore | repair | status | OK |
+-----------------------+--------+----------+----------+
1 row in set (0.02 sec)
mysql>
mysql> check table message_ignore;
+-----------------------+-------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+-----------------------+-------+----------+----------+
| notify.message_ignore | check | status | OK |
+-----------------------+-------+----------+----------+
1 row in set (0.02 sec)

修复后,数据可以正常查询
mysql> select * from message_ignore limit 1;
Empty set (0.00 sec)

如果是格式化文件frm损坏,可以从slave拷贝过来即可,或者从备份中恢复。

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-12773-1.html
网站维护教程更新时间:2012-03-23 00:45:39  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer