mysql ibdata1 文件太大导致数据库出现问题

qjf_Troy 2014-06-24 05:29:36
redhat 底下的mysql 因为一开始创建数据库的时候用的是同一个表空间,都在ibdata1中,导致ibdata1文件现在是30个G,后来又因为楼主自己不小心将ib_logfile0和ib_logfile1这两个日志文件给删除了,结果现在导致数据库连接上之后,表和视图打不开了,现在楼主想把表空间从新分成一个表一个表空间的那种,但是想要备份数据发现,表和视图打不开了。每次打开表就出现如图问题,现在有什么方法可以解决吗。
...全文
729 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qjf_Troy 2014-06-25
  • 打赏
  • 举报
回复
引用 3 楼 rucypli 的回复:
配置文件加这一行 然后重启试试 innodb_force_recovery = 6 然后mysqldump导出数据
刚还想问下这个命令啥意思,底下有解释了谢了。
qjf_Troy 2014-06-25
  • 打赏
  • 举报
回复
引用 4 楼 CloudHorizon 的回复:
## innodb_force_recovery ## 还可以设置为6个非零值:1~6。大的数字包含了前面所有小数字的影响,具体情况如下。 #1(SRV_FORCE_IGNORE_CORRUPT):忽略检查到的corrupt页。 #2(SRV_FORCE_NO_BACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。 #3(SRV_FORCE_NO_TRX_UNDO):不执行事务回滚操作。 #4(SRV_FORCE_NO_IBUF_MERGE):不执行插入缓冲的合并操作。 #5(SRV_FORCE_NO_UNDO_LOG_SCAN):不查看撤销日志(Undo Log),InnoDB存储引擎会将未提交的事务视为已提交。 #6(SRV_FORCE_NO_LOG_REDO):不执行前滚的操作 选择6试一下吧,打开以后,导出吧
嗯,试下看能不能打开
无忧工作室 2014-06-25
  • 打赏
  • 举报
回复
## innodb_force_recovery ## 还可以设置为6个非零值:1~6。大的数字包含了前面所有小数字的影响,具体情况如下。 #1(SRV_FORCE_IGNORE_CORRUPT):忽略检查到的corrupt页。 #2(SRV_FORCE_NO_BACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。 #3(SRV_FORCE_NO_TRX_UNDO):不执行事务回滚操作。 #4(SRV_FORCE_NO_IBUF_MERGE):不执行插入缓冲的合并操作。 #5(SRV_FORCE_NO_UNDO_LOG_SCAN):不查看撤销日志(Undo Log),InnoDB存储引擎会将未提交的事务视为已提交。 #6(SRV_FORCE_NO_LOG_REDO):不执行前滚的操作 选择6试一下吧,打开以后,导出吧
rucypli 2014-06-24
  • 打赏
  • 举报
回复
配置文件加这一行 然后重启试试 innodb_force_recovery = 6 然后mysqldump导出数据
lujinke 2014-06-24
  • 打赏
  • 举报
回复
ibdata才30GB而已,按理说只要你是在MySQL停机状态下删除ib_logfile,是不会影响MySQL正常启动,再次启动时会自动重建redo日志文件,难道你是在MySQL运行时删除的这两个日志文件的吗? 1,先强制关闭MySQL,再重启试试,如果不能重启,请贴出错误日志 2,如果能重启,再用mysqldump把数据全部导出来 3,修改配置文件,设置innodb_file_per_table=1,重启MySQL 4,导入备份数据 注意按照这种方法,你的ibdata文件时不会缩小的,除非你重新建一个新的实例,把数据导入新实例
qjf_Troy 2014-06-24
  • 打赏
  • 举报
回复

56,940

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧