问题描述:
一次mysql从库重启后发现errorlog中报错信息:[ERROR] InnoDB: Cannot open datafile for read-only: './dxh_sys/vendorUser.ibd' OS error: 71
导致mysql服务无法启动,无奈之下重做mysql从库,发现问题依然存在,但是mysql服务可以正常启动。
解决问题:
考虑到mysql实例是从别处迁移过来的,是否是表名大小写造成的。
设置参数:lower_case_table_names=0;
在mysql数据目录中终于找到了vendorUser.ibd文件但是缺少vendorUser.frm文件;
想办法找到vendorUser的建表语句,在测试库上生成vendorUser.frm文件,然后将其拷贝到相应位置,此时查看infomation_schema.tables中存在vendorUser表的相关信息;
drop table vendorUser;
关闭mysql服务,mv vendorUser.ibd vendorUser.ibd.bak
重启mysql,问题解决