【问题标题】:how to restore mysql innoDb databases from programData file如何从programData文件恢复mysql innoDb数据库
【发布时间】:2019-01-27 01:58:33
【问题描述】:

我已经重新安装了mysql。我已经在 programData 文件夹中备份了 mysql 数据。现在我想从该文件中恢复所有数据库。我不想乱来尝试它。我是否只需将备份的文件复制到我的新 mysql Data 文件夹中?我已经复制了我的数据库文件(包含 .frm 和 .ibd 文件)以及 ib* 文件,但之后我的服务器没有重新启动。我对那里发生的事情没有深入的了解。 请让我知道如何正确地做到这一点。

我用的是mysql 5.7版本

【问题讨论】:

  • 对于不了解 MySQL 工作原理的人来说,通过移动文件来恢复数据库是很困难的。这种方法有很多可能出错的地方。你在数据目录中chown -R mysql:mysql . 了吗? mysqld 可能无法读取/写入这些文件。查看错误日志以获取更多线索。下次你应该使用真正的备份和恢复工具,而不仅仅是移动文件。
  • 我做了 chwon -R mysql 并修复了它。感谢您的有用评论。我一定会很快备份我的数据库。

标签: mysql sql innodb


【解决方案1】:

问题原来是文件所有权和权限。

MySQL datadir 下的文件必须能被 mysqld 进程的 uid 读写。这通常是一个 uid “mysql”(因为几年前大家都同意以 root 身份运行守护进程不是一个好主意)。默认安装还有一个 gid "mysql"。

因此解决方法是:

chown -R mysql:mysql <datadir>

【讨论】:

    猜你喜欢
    • 2010-09-12
    • 2017-10-15
    • 2014-03-09
    • 2012-08-18
    • 2016-12-03
    • 2011-06-19
    • 2017-08-14
    • 2012-06-11
    • 2010-11-15
    相关资源
    最近更新 更多