【问题标题】:Moving Raw MYSQL Data Files to a Different Directory将原始 MYSQL 数据文件移动到不同的目录
【发布时间】:2009-07-03 01:43:28
【问题描述】:

我有一个仅用于托管多个站点的先前服务器的目录备份。我可以访问我们数据库的一些 .sql 备份,但有些还没有以这种方式备份。我在 var/lib/mysql/db_name 目录中的 db 中找到了表的 .MYD、.frm 和 .MYI 文件。

我想知道是否有办法从这些文件中获取数据并将它们移动到新的现有 mysql 安装中?我尝试将文件从 db 文件夹复制到具有完全相同名称的 db 文件夹,但在尝试访问任何表时仍然出现“找不到 db_name/table_name.frm”错误。它们确实出现在 phpmyadmin 表列表中,尝试访问表时出现错误。

这可能吗?如果是这样,我该如何获取这些表格文件并将它们转换为可用的数据?

如果我的问题或解释没有任何意义,我很抱歉。这是一个持续 11 多小时的紧急服务器恢复项目的一部分,该项目今天突然出现在我身上,所以我的大脑被炸了。我会回答任何必要的问题。

【问题讨论】:

    标签: mysql-management


    【解决方案1】:

    您是否检查过/var/lib/mysql/db_name/ 中的文件属于mysql 而不是root?通常复制文件应该“正常工作”(当然它对我有用)。我假设您使用的是相同或非常相似的 MySQL 版本?

    【讨论】:

    • Mysql版本是一样的。所有文件都归mysql所有。
    • 我进一步假设它是相同的系统类型并且文件名的大小写也是相同的。 MySQL 是否实际上可以读取 DB 文件(即所有者的权限是 r/w)? MySQL已重新启动?您是否尝试过停止 MySQL、复制文件并设置权限等,然后重新启动 MySQL?除了所有这些基础知识,我没有想法。
    【解决方案2】:

    您确实需要恢复与该数据库相关的所有内容,包括您之前安装的匹配“mysql”数据库。

    【讨论】:

    • 我从来不需要在副本中包含 mysql 数据库,但在某些情况下它可能很重要。
    • 是的,但在这样做之前要小心。如果您在新服务器中有任何以前的数据库,您可能会丢失它!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-21
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多