lef*_*cus 34 mysql repair innodb
我们(显然)昨晚的Solaris MySQL数据库引擎执行得很糟糕.至少有一些InnoDB表已损坏,事务日志中的时间戳乱序错误,以及有关索引损坏的特定错误.
我们知道可用于MyISAM表修复的工具,但找不到InnoDB的任何内容.
附注:尝试表优化(在我尝试重建损坏的索引时)会导致数据库服务器崩溃.
小智 22
停止您的应用程序...或停止您的从属设备,以便不添加新行
create table <new table> like <old table>;
insert <new table> select * from <old table>;
truncate table <old table>;
insert <old table> select * from <new table>;
Run Code Online (Sandbox Code Playgroud)
重启服务器或从服务器
以下解决方案的灵感来自Sandro的上述提示.
警告:虽然它对我有用,但我不知道它是否适合你.
我的问题如下:从表中读取一些特定的行(让我们调用这个表broken)会使MySQL崩溃.甚至SELECT COUNT(*) FROM broken会杀了它.我希望你PRIMARY KEY在这张桌子上有一个(在下面的例子中,它是id).
CREATE TABLE broken_repair LIKE broken;INSERT broken_repair SELECT * FROM broken WHERE id NOT IN (SELECT id FROM broken_repair) LIMIT 1;LIMIT 100000然后使用较低的值,直到使用LIMIT 1崩溃数据库).SELECT MAX(id) FROM broken与行数比较broken_repair).OFFSET到LIMIT.祝好运!
| 归档时间: |
|
| 查看次数: |
152856 次 |
| 最近记录: |