InnoDB: Cannot open table 恢复----惜分飞

有客户找到我说mysql无法正常使用报错如下(库名.表名 doesn’t exist):


 

客户确认表的frm和ibd文件均存在.通过检查mysql日志,发现大量类似异常


 

而且情况一样ibd和frm文件均存在,系统日志中提示:
2022-07-08T08:37:57.935514Z 1423 [Warning] InnoDB: Cannot open table 库名/表名 from the internal data dictionary of InnoDB though the .frm file for the table exists. Please refer to http://dev.mysql.com/doc/refman/5.7/en/innodb-troubleshooting.html for how to resolve the issue.
根据对mysql的认知,出现此类问题,很可能是mysql的ibdata文件出了问题,对日志进行分析,发现类似记录

2022-07-08T04:11:27.413455Z 0 [Note] /www/server/mysql/bin/mysqld (mysqld 5.7.34-log) starting as process 2144 ...

2022-07-08T04:11:27.495536Z 0 [Note] InnoDB: PUNCH HOLE support available

2022-07-08T04:11:27.495559Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins

2022-07-08T04:11:27.495562Z 0 [Note] InnoDB: Uses event mutexes

2022-07-08T04:11:27.495565Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier

2022-07-08T04:11:27.495568Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.11

2022-07-08T04:11:27.495571Z 0 [Note] InnoDB: Using Linux native AIO

2022-07-08T04:11:27.496130Z 0 [Note] InnoDB: Number of pools: 1

2022-07-08T04:11:27.496227Z 0 [Note] InnoDB: Using CPU crc32 instructions

2022-07-08T04:11:27.510618Z 0 [Note] InnoDB: Initializing buffer pool, total size=256M,instances=1,chunk size=128M

2022-07-08T04:11:27.520144Z 0 [Note] InnoDB: Completed initialization of buffer pool

2022-07-08T04:11:27.522095Z 0 [Note] InnoDB: If the mysqld execution user is authorized,

        page cleaner thread priority can be changed.  See the man page of setpriority().

2022-07-08T04:11:27.532135Z 0 [Note] InnoDB: The first innodb_system data file 'ibdata1' did not exist.

       A new tablespace will be created!

2022-07-08T04:11:27.532259Z 0 [Note] InnoDB: Setting file '/www/server/data/ibdata1' size to 10 MB.

        Physically writing the file full; Please wait ...

2022-07-08T04:11:27.760116Z 0 [Note] InnoDB: File '/www/server/data/ibdata1' size is now 10 MB.

2022-07-08T04:11:27.760338Z 0 [Note] InnoDB: Setting log file /www/server/data/ib_logfile101 size to 128MB

2022-07-08T04:11:27.760414Z 0 [Note] InnoDB: Progress in MB:

 100

2022-07-08T04:11:28.940355Z 0 [Note] InnoDB: Setting log file /www/server/data/ib_logfile1 size to 128 MB

2022-07-08T04:11:28.940442Z 0 [Note] InnoDB: Progress in MB:

 100

2022-07-08T04:11:30.517357Z 0 [Note] InnoDB: Renaming log file /www/server/data/ib_logfile101

      to /www/server/data/ib_logfile0

2022-07-08T04:11:30.517394Z 0 [Warning] InnoDB: New log files created, LSN=45790

2022-07-08T04:11:30.517401Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables

2022-07-08T04:11:30.517425Z 0 [Note] InnoDB: Setting file '/www/server/data/ibtmp1' size to 12 MB.

       Physically writing the file full; Please wait ...

2022-07-08T04:11:30.609146Z 0 [Note] InnoDB: File '/www/server/data/ibtmp1' size is now 12 MB.

2022-07-08T04:11:30.609236Z 0 [Note] InnoDB: Doublewrite buffer not found: creating new

2022-07-08T04:11:30.631133Z 0 [Note] InnoDB: Doublewrite buffer created

2022-07-08T04:11:31.160847Z 0 [Note] InnoDB: 96 redo rollback segment(s) found.96 redo rollback segment(s) are active.

2022-07-08T04:11:31.160860Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active.

2022-07-08T04:11:31.160970Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.

2022-07-08T04:11:31.194147Z 0 [Note] InnoDB: Foreign key constraint system tables created

2022-07-08T04:11:31.194175Z 0 [Note] InnoDB: Creating tablespace and datafile system tables.

2022-07-08T04:11:31.195079Z 0 [Note] InnoDB: Tablespace and datafile system tables created.

2022-07-08T04:11:31.195098Z 0 [Note] InnoDB: Creating sys_virtual system tables.

2022-07-08T04:11:31.195974Z 0 [Note] InnoDB: sys_virtual table created

2022-07-08T04:11:31.196099Z 0 [Note] InnoDB: Waiting for purge to start

2022-07-08T04:11:31.246167Z 0 [Note] InnoDB: 5.7.34 started; log sequence number 0

2022-07-08T04:11:31.246379Z 0 [Note] Plugin 'FEDERATED' is disabled.

2022-07-08T04:11:31.248996Z 0 [Warning] InnoDB: Cannot open table mysql/plugin from the internal data dictionary

        of InnoDB  though the .frm file for the table exists.

Please refer to http://dev.mysql.com/doc/refman/5.7/en/innodb-troubleshooting.html for how to resolve the issue.

mysqld: Table 'mysql.plugin' doesn't exist

通过上述日志可以确认,数据库应该被重新初始化了,导致以前库的ibd和frm文件无法被正常访问.对于此类情况,可以参考以前类似恢复案例:frm和ibd文件数据库恢复

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值