我本地的服务器用的是wamp , 重装的时候, 要进行数据备份 , 我使用的最简单粗暴的备份方式, 就是直接进入到mysql的安装目录下, 把data拷贝一份就可以了.
然后卸载wamp后重装,数据迁移就是把data贴到相同位置替换下就ok了
但是今天迁移完后,mysql怎么也启动不了,查看log,显示各种错误
2014-11-13 13:40:29 5196 [Note] Plugin 'FEDERATED' is disabled.
2014-11-13 13:40:29 5196 [Note] InnoDB: The InnoDB memory heap is disabled
2014-11-13 13:40:29 5196 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2014-11-13 13:40:29 5196 [Note] InnoDB: Compressed tables use zlib 1.2.3
2014-11-13 13:40:29 5196 [Note] InnoDB: Not using CPU crc32 instructions
2014-11-13 13:40:29 16e4 InnoDB: Error: unable to create temporary file; errno: 2
2014-11-13 13:40:29 5196 [ERROR] Plugin 'InnoDB' init function returned error.
2014-11-13 13:40:29 5196 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2014-11-13 13:40:29 5196 [ERROR] Unknown/unsupported storage engine: InnoDB
2014-11-13 13:40:29 5196 [ERROR] Aborting
查看各种资料后, 又有了粗犷的方式,删除了data目录下的除数据库文件夹以及ibdata1之外的文件, 再重启, ok了, 小绿图标出来了,mysql正常启动了。
*注意: 一定不要删除ibdata1, 查了资料, 说这个是很重要的文件,保存着innodb相关的数据
当然,身为妹子的博主,自然有自己细心的一面, 为什么删除了其他文件就可以启动呢?
并且,在迁移过程中,妹纸做了各种测试.
1.仅替换data内的数据库文件夹,重启后mysql可以启动,但用navicat连接数据库后无法打开数据表,显示数据表不存在 (即数据丢失, 上述ibdata1相关)
2.将事先备份的data内的数据库文件夹以及ibdata1替换到data目录下,重启, mysql无法启动
3.将ib_logfile0以及ib_logfile1删除, 重启 , mysql启动正常, 连接数据库数据表信息恢复.