Mysql 数据库的表坏了,复修不到,该怎么办?使用phpmyadmin可以列出有什么表,但看不到内容及结构回传
#1146 - Table 'oscommerce.banners' doesn't exist 但在Mysql server内的data有存在啊,9KB
C:\MySQL\MySQL Server 5.0\data\oscommerce\banners.frm但总是开不到啊,用过复修,但不行啊,应该怎么办?谢谢
#1146 - Table 'oscommerce.banners' doesn't exist 但在Mysql server内的data有存在啊,9KB
C:\MySQL\MySQL Server 5.0\data\oscommerce\banners.frm但总是开不到啊,用过复修,但不行啊,应该怎么办?谢谢
1、MYISAM的表可以用 MYISAMCHk来修复windows 下:MYISAMCHK.EXE -B -o 你的表路径。
LINUX下:直接用 --myisam-recover 选项重新启动MYSQLD服务。2、INNODB表MYSQL现在还没有专门的工具来做修复。
只能在MY.CNF或者MY.INI里设置innodb_force_recovery=1,避免在导出数据时再crash。
然后重新启动数据库。
用MYSQLDUMP 或者 SELECT * FROM 你的 表名 into outfile '导出文件路径';
然后删除原来的表, DROP TABLE 你的表名;
然后用MYSQLIMPORT 或者SOURCE 或者 INFILE的形式导入数据。
用CHECK TABLE 看看具体的表mysql> check table temp;
+-----------+-------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+-----------+-------+----------+----------+
| test.temp | check | status | OK |
+-----------+-------+----------+----------+
1 row in set (0.09 sec)
http://dev.mysql.com/doc/refman/5.1/zh/storage-engines.html