分类

链接

2017 年 11 月
 12345
6789101112
13141516171819
20212223242526
27282930  

近期文章

热门标签

新人福利,免费薅羊毛

现在位置:    首页 > MySQL > 正文
共享办公室出租
[真正完美解决]InnoDB: Attempted to open a previously opened tablespace
MySQL 暂无评论 阅读(859)

升级mysql到5.6后,启不了Mysql看error.log

其中关键的一行是:

InnoDB: Attempted to open a previously opened tablespace. Previous tablespace db_patients/tb_patients uses space ID: 3 at filepath: ./db_patients/tb_patients.ibd. Cannot open tablespace mysql/slave_relay_log_info which uses space ID: 3 at filepath: ./mysql/slave_relay_log_info.ibd

解决办法:
一、打开MAMP PRO,点击主界面左侧LANGUAGES中PHP,右侧Extensions分类中点击Manually enable other extensions右侧按钮(或者打开菜单栏File->Edit Template->MySQL->7.1.1(选择你的版本)),这时打开了一个文本,找到

[mysqld]

注意带上中括号,在[mysqld]下面加一行:

<span class="wp_keywordlink_affiliate"><a title="View all posts in innodb_force_recovery" href="http://blog.peos.cn/tag/innodb_force_recovery" target="_blank" rel="noopener">innodb_force_recovery</a></span> = 1

二、启动mySQL,成功后再关闭;
三、重新打开那个文本,删除添加的那一行;
四、再重启mySQL,完毕。

你以为事情完了?

 

事实上并没有,当你重启服务器后,重启Mysql还是会提示上面那个错,所以说事实上,根本问题还是解决。

 

真正的完美解决办法:

1.修改my.cnf/my.ini ,innodb_force_recovery = 1

2.先启动Mysql,service mysql(d) start

3.修改my.cnf/my.ini ,innodb_force_recovery = 0

4.重新启动Mysql,service mysql(d) restart

5.导出出错的数据库  dump …dbname……sql(命令记不全了),再删除这个出错的数据库

6.停止数据库service mysql stop

7.重启服务器

8.重启mysql(如果没有设置开机启动的话)

9.重启mysql后,导入之前备份的数据库,source sqlbak.sql。。。。额,大概意思是这样

10.再重启一下mysql试试,service mysql restart,嗯,能正常启动!

 

[后续]

虽然升级成功,但是后面发生很多奇怪的问题,最后又退回5.1了!

============ 欢迎各位老板打赏~ ===========

本文版权归Bruce's Blog所有,转载引用请完整注明以下信息:
本文作者:Bruce
本文地址:[真正完美解决]InnoDB: Attempted to open a previously opened tablespace | Bruce's Blog

发表评论

留言无头像?