Mysql 数据迁移后 启动出错

今天上班后不知道为什么,mysql一直无法启动,折腾了半天于是决定重装

我本地的server用的是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启动正常, 连接数据库数据表信息恢复.


大致搞懂了这三部分文件的用途, 详细原因, 还待深究 , 日后补文.


posted @ 2017-06-21 17:49  wzjhoutai  阅读(1149)  评论(0编辑  收藏  举报