当前位置: 首页 > news >正文

mysql删除表后重建表报错Tablespace exists

版本

mysql:8.0.23

复现步骤

1、删除表

DROP TABLE IF EXISTS `xxx_demo`;

2、新建表

CREATE TABLE `xxx_demo`  (`id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键id',`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = 'demo表' ROW_FORMAT = Dynamic;

3、报错信息

1813 - Tablespace exists.

解决方案

删除mysql数据目录下的 .ibd 文件,重新使用DDL创建即可

1、查看mysql的数据目录下,是否存在对应的 .ibd 文件

ls | grep xxx_demo

2、停止mysql服务,删除对应.ibd文件,再重新启动

# 停止mysql
docker-compose stop# 备份 ibd 文件
cp xxx.demo.ibd xxx.demo.ibd.back# 删除对应的文 ibd 文件
rm -rf xxx.demo.ibd# 重新启动mysql
docker-compost start

3、重新执行DDL语句新建表即可

PS:没有试过不停mysql行不行,感兴趣的可以自行尝试下

相关文章:

  • Grafana安装
  • 云服务器X86计算和Arm计算架构有什么区别?
  • 莒县第六实验小学:举行“阅读世界 丰盈自我”淘书会
  • Xilinx 7系列fpga在线升级和跳转
  • AF3 create_alignment_db_sharded脚本process_chunk函数解读
  • 视频设备轨迹回放平台EasyCVR利旧前端设备,打造智慧校园视频上云方案
  • Apifox 全面支持 LLMs.txt:让 AI 更好地理解你的 API 文档
  • python的import类与模块区别
  • windows上rabbitmq服务激活后 15672无法打开
  • 灰度共生矩阵(GLCM)简介
  • ROS2模块库概览
  • 20.3 使用技巧2
  • 低代码控件开发平台:飞帆中使用d3.js初尝
  • 数据结构(java)栈与队列
  • Chemical Review IF=51.4 综述 | 柔性机器人的当下与未来:材料、技术与应用的深度融合
  • STM32F103C8T6-基于FreeRTOS系统实现步进电机控制
  • GD32裸机程序-SFUD接口文件记录
  • 用 C++ 模拟客户端渲染中的分步数据加载
  • CVFSNet:一种用于端到端脑梗塞溶栓治疗后改良脑梗死溶栓分级(mTICI)评分的跨视图融合评分网络|文献速递-深度学习医疗AI最新文献
  • 使用CubeMX新建SysTick延时函数工程——使用中断,不使用HAL_Delay
  • wordpress主题 网站大全/今日国内新闻头条大事
  • 顺德网站制作公司/软文拟发布的平台与板块
  • wordpress的安装教程视频/福州短视频seo公司
  • ps做专业网站/引流推广网站
  • 温州哪里有做网站/郑州seo多少钱
  • 网店美工毕业设计/百度灰色词优化排名