以下是我的问题的介绍。
几天前,我无法在 Wamp 中启动 MySQL 服务!好吧,我搜索了很多 Google 信息,想找到无法启动的解决方案,有人建议关闭 Wamp,删除一个索引文件,然后重新启动 Wamp(这样 Wamp 就会尝试重新创建损坏的索引,或类似操作)
我删除的文件是这个:
bin\mysql\mysql5.6.12\data\mysql-bin.index
好的,重新启动后,我在系统尝试中再次看到绿色图标,服务开始正常工作。
现在,该索引文件包含如下内容:
.\mysql-bin.000029
.\mysql-bin.000030
.\mysql-bin.000031
在此错误之前,它具有与数字相同的结构000001-000028。
我正在使用 Wamp 2.4 (x86) 和 Apache 2.4.4/MySQL 5.6.12/PHP 5.4.16。
问题就在这里。
之后,我尝试访问一些最新的 php 项目,但在浏览器中,所有项目都收到了类似的错误消息。
Fatal error: Uncaught exception 'PDOException' with message
'SQLSTATE[42S02]: Base table or view not found: 1146 Table 'dbname.tablename'
doesn't exist' in C:\wamp\www\... on line xxx
我启动了 Navicat Premium 来查看问题所在,乍一看,所有数据库和表都在那里(现在仍然在那里)。从未对 Wamp 安装进行任何更改,因此用户名和密码仍然相同("root"/"")
。
然后我意识到数据库中的表只是列表中的名称。当我尝试打开其中任何一个时,我得到了错误1146 - Table 'database_name.table_name' doesn't exist
我没有备份!
现在我可以创建新的数据库/表,它们可以工作,但不能使用旧的 dbs/tbls。我能做些什么来恢复这些数据库/表吗?实际上只有一个数据库很重要,因为我没有那个数据库的备份。
我尝试mysql-bin.index
手动创建文件,包含所有行(000001-000031),但仍然不起作用。我尝试在网络上寻找解决方案,包括 StackOverflow 和 MySQL 官方网站,但没有找到任何可用的解决方案。我找到了一些提示,但没有解决我的问题,或者我只是不知道如何遵循说明。
更新 #1