-1

我必须复制这个允许用户登录和东西的巨大 PHP 应用程序。

我完全不知道此时该做什么。他们给了我整个网站文件夹,包括 html 文件和其中的所有内容(超过 1000 个随机文件和大量 php 文件)。

数据库文件由以下扩展名组成。

.MYI .MYD .FRM

但是它们采用某种编码,我什至无法导入到新制作的数据库中。

default-character-set=latin1
default-collation=latin1_swedish_ci

我不断收到语法错误。

我对做这些东西完全陌生,将现有和工作的 PHP 应用程序复制到新位置并让它工作的正常步骤是什么?

/编辑

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“þþ”附近使用正确的语法

����d�9����������������H���H����mm}@)892T33333 @�333 @�333[...]

4

2 回答 2

2

它们是数据库的原始文件,将它们放在数据库数据目录中(/var/lib/mysql/dbname)

FRM 是结构,MYD 是数据。它们是必需的 2,因为 MYI 可以从它们 2 中生成。

确保 mysql 用户可以读取和写入它们(chown -r mysql:mysql)

希望这应该允许导入

据我所知,在 phpmyadmin 中没有办法做到这一点,但我可能是错的。

此外,为了获得最佳工作机会,我会在您完成移动数据后停止 mysqld 并重新启动

于 2013-07-15T21:52:15.280 回答
0

这里的另一个答案(来自https://stackoverflow.com/users/1281385/user1281385)是绝对正确的。这些 .frm 、 myi 和 .myd 文件是 mysqld 软件用来存储其数据的容器文件,特别是用于 MyISAM 访问方法文件。

但我想提供一种(可能)更强大的方法来处理这个问题。

你能建立一个本地的、个人的、MySQL 实例吗?如果是这样,请尝试找出您的折磨者(呃,客户)正在使用的 MySQL 的确切版本并设置该特定版本。

然后按照 user1281385 的建议,将 .frm、.myi、.myd 文件的副本(不是原件!!)放入 mysql 数据目录。它们进入以数据库命名的子目录。启动数据库服务器,看看你是否有你需要的东西。

如果你这样做了,那么使用命令行mysqldump或其他迁移工具将数据优雅地移动到新的生产服务器。

您需要在这里做的事情的技术术语是“到处乱搞,直到它起作用”。

如果可能的话,更好的解决方案是让您的客户为您提供mysqldump输出。

于 2013-07-15T23:03:04.313 回答