問題:
大佬,請教一個數據庫大表(單表4億條)移機後Tablespace has been discarded 的問題: 數據庫版本5.7.22, innodb引擎, 大表做了按月分區。 現在做了這樣的操作: A, B 兩個完全相同的數據庫,表也一樣。 將A庫的 表 a 的idb文件複製替換了B庫 的表 a 的 ibd 出現問題: B庫的表a不能插記錄進去了。 之後,又做了這樣的操作: B庫rename 表a 爲b , 重建表a , 之後insert into a select from a where id=1 ; 報Tablespace has been discarded; 有大佬指導指導麼?
解答:
目標服務器:創建表結構 目標服務器執行:alter table l discard tablespace; 丟棄表空間文件 源服務器:flush table l for export; 添加讀鎖 拷貝文件到目標服務器:cp l.ibd l.cfg ../sbtest/ 源服務器釋放鎖:unlock tables; 目標服務器對l.ibd l.cfg 賦予權限 目標服務器執行: alter table l import tablespace; 加載表空間