-Mysql 創(chuàng)建表時(shí)錯(cuò)誤:Tablespace for table tb
exists. Please DISCARD the tablespace before IMPORT
以上問題是修改數(shù)據(jù)庫安裝路徑后所森,創(chuàng)建table出現(xiàn)的問題余耽,此問題原因是修改數(shù)據(jù)庫路徑前侦副,數(shù)據(jù)庫中保留有數(shù)據(jù)师崎,舉例database=db,db下有表tb膀跌,在修改后路徑數(shù)據(jù)庫登陸
./mysql -uroo -p
后進(jìn)入information_schema數(shù)據(jù)庫号俐,(information_schema數(shù)據(jù)庫是系統(tǒng)自帶)皆怕,執(zhí)行
select * from INNODB_SYS_TABLES;
或者
select * from INNODB_TABLES;
我們可以看到表里含有我們的舊數(shù)據(jù)名稱db/tb
image.png
但是/mysql/data/db/下缺沒有tb表的數(shù)據(jù),甚至在創(chuàng)建db前值戳,連/mysql/data/db文件都不存在议谷,那如果我們登陸數(shù)據(jù)庫information_schema刪除tb是不是就可以了,試一下:
image.png
答案是不堕虹,information_schema表不能進(jìn)行編輯卧晓,即使換mysql -h@127.0.0.1 -uroot -p也不能編輯,
那怎么刪除數(shù)據(jù)呢赴捞,我們換個(gè)方式逼裆,創(chuàng)建個(gè)db1,創(chuàng)建成功后修改db1名字為db是否可以呢赦政,答案仍然是不可以
那只能有一種方法胜宇,在改變數(shù)據(jù)庫路徑前停掉MySQL服務(wù)耀怜,把舊數(shù)據(jù)刪除或備份,或者直接下載純凈版MySQL代碼包安裝桐愉,安裝完成后倒入備份數(shù)據(jù)财破,或者再創(chuàng)建表就可以了