从var目录导入或还原MySQL数据库


2

我最近用SuperDuper备份了整个笔记本电脑硬盘,并重新安装了Snow Leopard。因为我做了图像克隆,所以能够还原所有文件而不会丢失任何数据。进行硬盘克隆。

但是,我忘了做的一件事是对所有MySQL数据库进行转储。真是的 由于MySQL的存储特性,我不能只拖放数据库和表,而是将所有数据锁定在服务器中。

当我挂载克隆的映像时,我可以导航到/Volumes/laptop/usr/local/mysql/var(因为我已经将MySQL安装到了/usr/local/mysql),并且可以看到我的所有数据库都列为目录,其中包含随机文件,这似乎很有希望。

如何恢复所有我忘记转储的数据库?有没有一种方法可以将var/文件夹还原到我全新的全新MySQL安装中,并(希望)维护所有用户和特权?我可以复制该目录并使所有工作正常吗?

Answers:


2

免责声明:我不能保证这也对您有效,对我也有效。

我通过简单地复制文件(整个/usr/local/mysql目录... /var/mysql无论如何都不应该在此目录下)来完成类似的还原(在Windows 下)。当然,完成之后,您将需要停止MySQL守护程序并重新启动。

另外,以防万一某些内容已更改,请检查文件权限。


优秀的。您的想法发生了变化。所有MySQL数据都在中/usr/local/mysql/var,因此我将原始文件夹复制到了我的新安装文件中(而不是整个/usr/local/mysql目录,而是整个目录中var),并确保mysql用户可以访问它(sudo chown -R mysql /usr/local/mysql/var)。最棘手的部分是告诉MySQL查看它。一旦运行install_db脚本(/usr/local/mysql/bin/mysql_install_db --user=_mysql),一切都将正常运行。惊人!
安德鲁(Andrew)2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.