宝塔用户_migqxj 发表于 2021-9-16 17:28:35

【已解决】特急,mysql的数据库都 打不开了

今天在软件商店里,见MSYQL5.6 XX后面有个更新.我就点击更新了.
现在版本变成了MySQL 5.6.51,可是我以前的数据库全打不开了.特急.

宝塔用户_migqxj 发表于 2021-9-16 17:29:24

2021-09-16 17:23:09 4336 D:\BtSoft\mysql\MySQL5.6\bin\mysqld.exe: ready for connections.
Version: '5.6.51-log'socket: ''port: 3638MySQL Community Server (GPL)
2021-09-16 17:23:45 4336 InnoDB: Cannot open table test1/base_buildtest from the internal data dictionary of InnoDB though the .frm file for the table exists. See http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html for how you can resolve the problem.

宝塔用户_migqxj 发表于 2021-9-16 17:34:58

你说我好好的,点什么升级呀.也建议以后你们列表中如果会影响到使用,不要升级.

堡塔开发wzz 发表于 2021-9-16 17:39:38

据官方解释是数据字典不同步(out-of-sync data dictinary),原因是数据目录里有.frm文件,但是没有对应的数据字典信息以及数据文件,解决方法是删除掉相关表的.frm文件。实际环境中为什么会出现这个报错已经无从考据了,确认该表已经没用,将.frm文件清理即可。

MySQL :: MySQL 5.6 Reference Manual :: 14.21 InnoDB Troubleshooting

如果全部都有用都无法删除,只能恢复上一次备份使用;如果今日数据非常重要,建议提前保存好binlog文件,找专业的数据恢复机构恢复数据。

宝塔用户_migqxj 发表于 2021-9-16 21:42:56

两台服务器出现同样的问题。只要升级后,数据库全损坏。

wlhg 发表于 2021-9-17 09:28:45

我和你情况一样 我现在20个g的数据库一个个恢复中 还好有备份

堡塔开发wzz 发表于 2021-9-17 14:49:08

wlhg 发表于 2021-9-17 09:28
我和你情况一样 我现在20个g的数据库一个个恢复中 还好有备份
您的有错误日志吗?win下MySQL版本更新已经将频率降至最低,一般都是斟酌后需要更新时我们才会放出MySQL官方软件包;
升级MySQL建议闲时操作,因为会停止当前的数据库,如果正在写入停止有可能就会损坏表

突然停止了MySQL然后导致没有写入的数据中断,然后表就崩溃了;我们不建议如此,升级MySQL的时候尽量闲时操作
MySQL升级需谨慎,数据无价不容轻视


宝塔用户_migqxj 发表于 2021-9-18 14:39:09

找到一个方法,大家可以试下,目前 我的已经解决。
打开数据库列表,点击有备份-备份数据库,此时是可以正常备份数据库,然后下载SQL文件 ,清空现有的表,然后利用navicat导入到数据库。完美解决

宝塔用户_migqxj 发表于 2021-9-24 15:34:08

不行,还是未解决.最后看了,丢失了很多表.惨败告终.建议大家不要升级.

jimmyjiang 发表于 2021-9-24 16:34:38

本帖最后由 jimmyjiang 于 2021-9-24 16:39 编辑

宝塔用户_migqxj 发表于 2021-9-24 15:34
不行,还是未解决.最后看了,丢失了很多表.惨败告终.建议大家不要升级.
我昨天也倒腾了一下,也是打不开部分表了。摸索了几个小时,搞定了。根源在于innodb引擎的表结构被破坏了(myisam 格式的能打开)。后来发现是升级时ibdata1,ib_logfile0,iblogfile文件损坏了。ibdata1原来是N个G的,升级到5.7.34后,只有几十M了。幸好我有用计划任务,每天都有备份数据库(SQL文件)。最后用这招搞定了:就是新建库,再导入。所以建议:1是要做数据库备份,2是升级mysql前要把mysql5.7这种目录备份一份,3.最好弄个定时快照,4.我还查到有通过frm/ibd来恢复的手段(也是复制表结构,但我直接导入就搞定了,就没有尝试到这一步,算是幸运)。

jimmyjiang 发表于 2021-9-24 16:37:43

宝塔用户_migqxj 发表于 2021-9-24 15:34
不行,还是未解决.最后看了,丢失了很多表.惨败告终.建议大家不要升级.

我昨天看到你的贴,用了navicat尝试,也是不行了。破坏原因,猜是因为当时在往库里写数据,突破停掉mysql,ibdata1等被破坏了。如果是没有写,甚至没有读,可能升级能顺利。的确,备份很重要。有些小版本升不升没关系。要玩在测试机上玩,不要在上线的业务机上玩。

zjapp 发表于 2021-9-26 16:18:59

同样遭遇,mysql 5.65升级后innodb引擎的数据库都不能用了,myisam 格式的正常,有来帮忙解决一下的嘛
页: [1]
查看完整版本: 【已解决】特急,mysql的数据库都 打不开了