欢迎来到天天文库
浏览记录
ID:24526661
大小:54.00 KB
页数:4页
时间:2018-11-15
《innodb数据表空间文件平滑迁移--》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、InnoDB数据表空间文件平滑迁移>> 如何迁移? 从MySQL文档中我们了解到,InnoDB的表空间可以是共享的或独立的。如果是共享表空间,则所有的表空间都放在一个文件里:ibdata1,ibdata2..ibdataN,这种情况下,目前应该还没办法实现表空间的迁移,除非完全迁移,因此不在本次讨论之列;我们只讨论独立表空间的情况。 不管是共享还是独立表空间,InnoDB每个数据表的元数据(metadata)总是保存在ibdata1这个共享表空间里,因此该文件必不可少,它还可以用来保存各种数据字典等信息。数据字典中,会保存每个数据表的
2、ID号,每次发生数据表空间新增时,都会使得该ID自增一个值(++1),例如:CREATETABLExxENGINE=InnoDB/ALTERTABLExxENGINE=InnoDB都会使得ID值增加。 有了上面的理解,想要实现InnoDB表空间文件的平滑迁移就很容易了,呵呵。下面是一些例子: 假定我们有2台DB主机,一个是A,一个B,现在想把A上的某个InnoDB表空间文件迁移到B上直接用。 一、迁移失败的例子 直接从A上把表空间文件yejr.ibd拷贝到B上后,导入表空间,报错,无法使用。这是由于A,B上创建该表时的顺序不一致,导
3、致表的ID不一样,无法导入。 注意:在这里,表空间文件直接拷贝的前提是该表空间处于干净状态下,也就是所有的数据均已经刷新到磁盘中,否则可能导致无法使用或部分数据丢失。 1.在B上将旧的表空间废弃(rootimysql./17:52:47)[yejr]>ALTERTABLEyejrDISCARDTABLESPACE;QueryOK,0roe/mysql/yejr/yejr.ibd.... 3.启用该表空间(rootimysql./17:52:47)[yejr]>ALTERTABLEyejrIMPORTTABLESPACE;E
4、RROR1030(HY000):Goterror-1fromstorageengine 4.查看错误InnoDB:Operatingsystemerrornumber13inafileoperation.InnoDB:TheerrormeansmysqlddoesnothavetheaccessrightstoInnoDB:thedirectory.InnoDB:Error:tryingtoopenatable,butcouldnotInnoDB:openthetablespacefile'./test/b.ibd'!In
5、noDB:Error:cannotresetlsn'sintable`test/b`InnoDB:inALTERTABLE...IMPORTTABLESPACE 5.很明显,是权限的问题,修正过来,然后重新导入(rootimysql./17:52:47)[yejr]>ALTERTABLEyejrDISCARDTABLESPACE;ERROR1030(HY000):Goterror-1fromstorageengine 6.怎么还是错误?继续看日志InnoDB:Error:tablespaceidinfile'./y
6、ejr/yejr.ibd'is15,butintheInnoDBInnoDB:datadictionaryitis13.InnoDB:HaveyoumovedInnoDB.ibdfilesaroundandsDISCARDTABLESPACEandIMPORTTABLESPACE?InnoDB:PleaserefertoInnoDB:/refman/5.0/en/innodb-troubleshooting.htmlInnoDB:forhoysql./17:52:47)[yejr]>ALTERTABLEyejrRENAMETO
7、yejr1;QueryOK,0roysql./17:52:47)[yejr]>ALTERTABLEyejr1RENAMETOyejr;QueryOK,0roysql./17:52:47)[yejr]>ALTERTABLEyejrIMPORTTABLESPACE;QueryOK,0rowsaffected(0.0012下一页>>>>这篇文章来自..,。sec)(rootimysql./17:52:47)[yejr]>selectcount(*)fromyejr;+----------+
8、count(*)
9、+---------
10、-+
11、 3
12、+----------+1roySQL5.0.67版本下通过,只不过显示数据稍作处理了。上一页12>>>>这篇文章来自..,。
此文档下载收益归作者所有