mysql frm文件替换后表就找不到了

开源中国首席脑科主任 发布于 2016/12/16 14:53
阅读 349
收藏 0

操作:

A数据库中有个tmp表,有2列:id和name

我现在在B库中也创建一个tmp表,多加一个字段,也就是有3列:id、name、age

然后我去mysql的data文件目录下,把B库下面的tmp.frm拷贝到A库下面

结果A库下面show tables能看到tmp表,但是写个对tmp查询,结果显示tmp表not exist

用mysql workbench查看又能看到列确实是被拉过来了


这是怎么回事?要如何解决?


加载中
0
逝水fox
逝水fox

拿覆盖前的文件备份尝试恢复。这操作是谁教的...

逝水fox
逝水fox
回复 @开源中国首席脑科主任 : 即使替换了frm里面的数据定义,数据页里面的数据结构还是原来定义的结构,肯定会出问题的。alter可以考虑下5.6的Online DLL,另外Facebook开源了一个OnlineSchemaChange也可以尝试下。
开源中国首席脑科主任
开源中国首席脑科主任
我是在试这个场景行不行,就是考虑到在数据大的时候直接alter会卡死
返回顶部
顶部