-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
但是/mysql/data/db/下缺没有tb表的数据,甚至在创建db前,连/mysql/data/db文件都不存在,那如果我们登陆数据库information_schema删除tb是不是就可以了,试一下:
答案是不,information_schema表不能进行编辑,即使换mysql -h@127.0.0.1 -uroot -p也不能编辑,
那怎么删除数据呢,我们换个方式,创建个db1,创建成功后修改db1名字为db是否可以呢,答案仍然是不可以
那只能有一种方法,在改变数据库路径前停掉MySQL服务,把旧数据删除或备份,或者直接下载纯净版MySQL代码包安装,安装完成后倒入备份数据,或者再创建表就可以了