阅读更多
我的当前环境是Mac OS X 10.11,MySQL是5.6
首先我们是确保原来的mysql的数据文件夹data里面的内容没有丢失
这里需要注意一点的就是,在data文件夹内存储着原来的若干数据库,但不光是这些数据库文件夹,还有ib_logfile0,ib_logfile1,ibdata1,这些文件也坚决不能弄丢,因为他们里边存储着表空间的映射,如果弄丢了的话,启动服务会重新创建新的文件,但是在查询表的时候,就会提示表不存在 xx table is not exist之类的信息。
然后将他拷贝到新安装的或者说升级后的MySQL目录下,默认的话会是在这个位置,当然也可以通过my.cnf来进行修改datadir的数据路径
那么这样其实基本上就昨晚比较简单的还原了,但是有一点需要注意的就是权限
这个时候启动可能是不好用的,因为文件夹权限的原因,无法读取数据文件
需要授权 在/usr/local/mysql文件夹下执行
$ sudo chown -R mysql .
$ sudo chown -R mysql data
把mysql文件夹以及data文件夹进行授权之后,可以尝试启动数据库了
通过./bin文件夹下的mysqld_safe尝试下启动,如果无法启动,看一下错误日志。
通过在my.cnf内添加log-error=/usr/.....错误日志路径位置,来查看启动时候出错的可能原因,然后进行分析。
-----
如果日志文件ib-logfile0~...等文件已经没有了,或者对应不上了,则可以尝试如下的解决办法
http://dba.stackexchange.com/questions/57120/recover-mysql-database-from-data-folder-without-ibdata1-from-ibd-files