我的 CentOS 6 服务器出现了服务器问题,因此客户支持备份了我的服务器并重新安装了它。
备份位于名为 /home/42406 的文件夹中。
我正在尝试寻找名为“mariomansion”的 MySQL 数据库。
我安装了 LAMP 并尝试了 mysqldump,但是它说找不到数据库。
我进入 /home/42406/var/lib/mysql,发现了两个文件夹:一个名为 mariomansion,一个名为 mysql。mariomansion 文件夹包含 .frm、.myd 和 .myi 文件,以及表的名称。
如何从备份中恢复我的 SQL 数据库文件?
答案1
您可以将 mariomansion 目录及其 /home/42406/var/lib/mysql 中的所有文件复制到 /var/lib/mysql 吗?这是 CentOS 系统上数据库文件所在的位置,但您需要对 /var/lib/mysql 具有 root 访问权限才能将它们放在那里。您可以尝试:
cp --recursive /home/42406/var/lib/mysql/mariomansion /var/lib/mysql/.
如果你有服务器的 root 访问权限,你应该能够自己将文件放在那里;我假设你安装了灯堆栈。如果没有,您可能需要让客户支持人员为您执行此操作。
目录及其文件放置在那里时,其所有者和组应为 mysql。如果您可以将目录及其文件复制到那里,则可以使用以下命令更改所有权。
chown --recursive mysql /var/lib/mysql/mariomansion
chgrp --recursive mysql /var/lib/mysql/mariomansion
目录所有者 mysql 应具有读取、写入和执行权限,即 rwx,其中“x”允许目录所有者(在本例中为 mysql)进入目录并访问其中的文件和任何目录。您可以使用 设置目录的权限chmod 700 /var/lib/mysql/mariomansion
。在我的 CentOS 服务器上,所有数据库文件的所有者和组访问权限都设置为读取和写入,您可以使用 设置chmod 660 /var/lib/mysql/mariomansion/*
。