MySQL-Please DISCARD the tablespace before IMPORT

-Mysql 创建表时错误:Tablespace for table tb exists. Please DISCARD the tablespace before IMPORT
以上问题是修改数据库安装路径后,创建table出现的问题,此问题原因是修改数据库路径前,数据库中保留有数据,举例database=db,db下有表tb,在修改后路径数据库登陆

./mysql -uroo -p

后进入information_schema数据库,(information_schema数据库是系统自带),执行

select * from INNODB_SYS_TABLES;

或者

select * from INNODB_TABLES;

我们可以看到表里含有我们的旧数据名称db/tb


image.png

但是/mysql/data/db/下缺没有tb表的数据,甚至在创建db前,连/mysql/data/db文件都不存在,那如果我们登陆数据库information_schema删除tb是不是就可以了,试一下:


image.png

答案是不,information_schema表不能进行编辑,即使换mysql [email protected] -uroot -p也不能编辑,
那怎么删除数据呢,我们换个方式,创建个db1,创建成功后修改db1名字为db是否可以呢,答案仍然是不可以

那只能有一种方法,在改变数据库路径前停掉MySQL服务,把旧数据删除或备份,或者直接下载纯净版MySQL代码包安装,安装完成后倒入备份数据,或者再创建表就可以了

你可能感兴趣的:(MySQL-Please DISCARD the tablespace before IMPORT)