【问题标题】:Restore mysql Data from Instance Files从实例文件中恢复 mysql 数据
【发布时间】:2020-08-11 20:21:50
【问题描述】:

我有一个无法访问的 ec2 实例的快照。我能够将快照挂载为驱动器,并且可以访问所有文件。我的目标是将所有 SQL 数据从无法访问的实例转移到我的新实例。我成功地在 /var/lib/mysql 中找到了在我的数据库名称后标有 .opt、.frm 和 .ibd 文件的文件夹。我试图将这些文件夹复制到我的新 MySQL 文件夹中,当数据库显示表和列名时,没有数据,它给了我错误 1146 - 表不存在。知道我的数据可能在哪里以及如何恢复它吗?谢谢!

【问题讨论】:

    标签: mysql ubuntu amazon-ec2


    【解决方案1】:

    您需要将整个 /var/lib/mysql 文件夹复制到新机器上,尤其是 ibdata* 和 ib_logfile* 文件,否则您的 InnoDB 表空间 (.ibd) 将不起作用.

    【讨论】:

    • 我复制了整个文件夹并得到:./libraries/dbi/DBIMysqli.php#262 mysqli_query(): (HY000/1018): Can't read dir of '.' (错误号:13 - 权限被拒绝)并且我的数据库都不可见
    • 你可能需要 "chown -R mysql:mysql /var/lib/mysql"
    • 什么发行版?这可能是 SELinux 或 AppArmor 的阻碍。
    • Ubuntu 18.04 LTS
    • 现在可以使用了!我只需要重新启动mysql(我正在重新启动apache2)。谢谢!
    猜你喜欢
    • 2016-12-03
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    • 2012-06-11
    • 2010-11-15
    • 1970-01-01
    • 2011-04-17
    相关资源
    最近更新 更多