首页 > 解决方案 > 如何从programData文件恢复mysql innoDb数据库

问题描述

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

我使用的是 mysql 5.7 版本

标签: mysqlsqlinnodb

解决方案


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

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

因此,解决方法是:

chown -R mysql:mysql <datadir>

推荐阅读