我已经卸载了旧的XAMPP,删除了d:xampp folder
的所有内容,并安装了新的内容。当我将备份文件夹(具有数据库名称,包含所有.frm
和.opt
文件)复制到D:xamppmysqldata
时,数据库显示在phpmyadmin中的列表中,但它没有表和数据。我做错了什么?
以下是我如何处理这种情况:
-
从xampp控制面板停止Apache和MySql服务
- 备份(以防万一),然后从新的examplep安装文件夹
<physical_drive>/xampp/mysql
中删除data
文件夹。(
data
文件夹包含表的架构/表定义(.frm文件)。) - 从
mysql
下的上一个xampp
文件夹(或备份)中复制data
文件夹,并将其粘贴到新位置(即<physical_drive>/xampp/mysql
) - 现在从examplep控制面板启动Apache和MySql//strong>服务
在那里,当你点击这些表时,它们应该显示出它们的结构
注意
:确保examplep安装文件夹下的bin
文件夹未动
这是可能的,我找到了一个解决方案:
- 安装新示例
- 从复制旧数据库文件夹xamp\mysql\data\databasefolder粘贴到正在运行的xampp文件夹中
C: \examplep\mysql\data - 之后,停止mysql和apache服务,然后备份正在运行的examplep文件ib_logfile0、ib_logfiles1和ibdata1,并将其存储在安全的地方
- 然后从旧文件复制相同的文件(ib_logfile0、ib_logfiles1和ibdata1)xamp\mysql\data\并粘贴到正在运行的xampp服务器C:\xamp\mysql \data中\
- 启动mysql和apache服务Open CMD Fire命令C: \examplep\mysql\bin>mysqldump-u数据库用户名-p数据库密码数据库名称>D:\exportdb.sql
- 停止mysql和apache服务并恢复您的主要ib_logfile0、ib_logfiles1和ibdata1文件(检查步骤3)
- 之后再次启动服务并打开http://localhost/phpmyadmin/并从D:\exportdb.sql导入数据库备份现在您的备份正在工作:)
- 将所有旧数据库从旧数据库复制到此目录下新安装的Xampp
C: \examplep\mysql\data\
- 从新的xampp(C:\xamp\mysql\data)复制以下文件并进行备份
ib_logfile0、ib_logfile 1和ibdata1
-
类似地,将ib_logfile0、ib_logfiles1和ibdata1从旧的examplep复制并替换到新的examplep
-
如果以前的Db已经崩溃或类似mysqld.exe的错误已经停止工作,请使用mysql的my.ini文件中的以下2行
[mysqld]
innodb_force_recovery=2
innodb_file_per_table=1
- 重新启动Apache和MYSQL,然后转到PHPMyadmin导出以前的数据库
- 最后替换之前备份的iblogfile0、iblogfile1和ibdata1
Setdatadir="D:\examplep\mysql\data"在examplep/mysql/bin/my.ini中,
如果要将某个数据库从旧的xampp复制到新的xampp首先,从XAMPP控制中停止Apache和MySQL,并遵循以下步骤:
- 转到oldxampp/mysql/data
- 复制ibdata1文件
- 转到newxampp/mysql/data
- 粘贴已复制的文件(进行替换)
- 转到oldxampp/mysql/data并复制所需数据库的文件夹
- 转到newxamp/mysql/data粘贴数据库文件夹
- 重新启动apache和MySQL
我遇到了同样的问题。我所有的项目都在mysql中,但不知怎么就丢了。
我的旧xampp下的mysql不知怎么被删除/卸载了。我甚至没有数据文件夹可以复制到新的xampp位置。
我浏览了文件夹,在下面的位置找到了mysql/data和mysql/backup。
C: \axamp\perl\mysql\data
C: \examplep\perl\mysql\backup
这就是我所做的。
我复制了这两个文件夹来代替新的xamp-mysql/data和mysql/backup文件夹。
我还将/mysql下的其他文件(而不是文件夹)从旧的xampp复制到新的xamp/mysql。
如果正在运行,请停止新的xamp-mysql和apache服务器。重新启动。
维奥拉,我把所有丢失的数据库都找回来了。
希望这能有所帮助。
我找到了一个解决方案。我安装了新的XAMPP,并用新安装的XAMPP中的新文件夹替换Apache中的旧bin文件夹和旧XAMPP中的mysql文件夹。我已经恢复了所有数据。
我刚刚从xampp文件夹结构中的mysql文件夹中复制了数据文件夹,并将其粘贴到我的新安装中的相同结构中,现在一切都很好。
我在Ubuntu中搜索恢复XAMPP数据库的方法时发现了这一点。这个问题显然是针对Windows系统的,但我认为这可能会有所帮助,因为这是唯一好的搜索结果。
对于/opt/lamp/中的标准安装。您可以从文件夹中恢复数据库/opt/lampp/var/mysql/如果你有整个lampp安装的备份。(如果没有,您可能会考虑将mysql文件夹添加到备份系统中。)
- 请确保MySQL没有运行
- 将上述文件夹复制到新的XAMPP安装中
- 确保所有者是mysql
- 启动MySQL
您的旧数据库应该可以再次访问。
我也遇到过类似的问题,即windows操作系统已损坏。
-
安装新的xampp,停止服务(apache,mysql)
-
将此文件夹和文件从旧文件夹复制到新文件夹。位置:
C: \examplep\mysql\dataib_logfile0、ib_logfile 1、ibdata1
-
启动服务。
-
只需运行phpmyadmin或运行站点。它会起作用的!
确保安装相同版本的mysql。这真的很重要。复制文件ibdata1和除mysql和perfomance_schema文件夹之外的数据文件夹。
我的遇到了麻烦,非常感谢你的这本指南像巫毒符一样工作。但我的我做到了步骤
安装新的示例
-
将旧数据库文件夹从xamp\mysql\data\databasefolder复制到正在运行的xampp文件夹中粘贴C: \examplep\mysql\data
-
之后停止mysql和apache服务,然后备份正在运行的examplep文件ib_logfile0、ib_logfiles1和ibdata1,并将其存储在安全的地方
-
然后从旧的xamp\mysql\data\复制相同的文件(ib_logfile0、ib_logfiles1和ibdata1),并粘贴到运行的xampp服务器C:\xamp\mysql \data\中
-
打开http://localhost/phpmyadmin/和导出数据库用于未来备份
我的网站恢复正常运行。
确保旧的examplep和新的examplep是相同的版本,然后按照以下步骤操作。
- 在xampp控制面板中停止mysql
- 重命名新的xamp\mysql\data或复制它
- 将所有数据库文件夹从旧的xampp(performance_schema、mysql和phpmyadmin文件夹除外)复制到xamp\mysql\data中的新xampp
- 将ib_logfile0、ib_logfile 1和ibdata1文件从旧xampp复制到新xampp
- 重新启动mysql服务。完成
注意:您必须使用相同的examplep版本(新旧安装)
我已经搜索了很多。恢复还需要一些其他文件。我认为单从.frm文件中恢复表是不可能的。我已经重新创建了我的数据库。