Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从programData文件恢复mysql innoDb数据库_Mysql_Sql_Innodb - Fatal编程技术网

如何从programData文件恢复mysql innoDb数据库

如何从programData文件恢复mysql innoDb数据库,mysql,sql,innodb,Mysql,Sql,Innodb,我已经重新安装了mysql。我已经在programData文件夹中备份了mysql数据。现在我想从该文件恢复所有数据库。我不想胡闹,也不想为此而尝试。我是否只需要将备份的文件复制到新的mysql数据文件夹中?我已经复制了我的数据库文件(包含.frm和.ibd文件)以及ib*文件,但之后我的服务器就再也没有启动。我对后面发生的事情没有深入的了解。 请让我知道如何正确地做到这一点 我使用的是mysql 5.7版本问题在于文件所有权和权限 mysqldatadir下的文件必须能够被mysqld进程的u

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


我使用的是mysql 5.7版本

问题在于文件所有权和权限

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

因此,解决办法是:

chown -R mysql:mysql <datadir>
chown-rMySQL:mysql

对于不知道MySQL如何工作的人来说,通过移动文件来恢复数据库是很困难的。这种方法有很多地方可能出错。您是否在datadir中
chown-R mysql:mysql.
?这些文件可能不是mysqld读/写的。在错误日志中查找更多线索。下次你应该使用真正的备份和恢复工具,而不仅仅是移动文件。我做了chwon-rMySQL,这就解决了它。谢谢你的评论。我肯定会很快备份我的数据库。