如何从物理文件还原mysql数据库?


12

我只是重新安装了系统,没有进行转储备份,但是仍然有以前的mysql安装的物理文件夹。

可以使用它来还原和更新我的当前配置吗?

Answers:


11

有可能,但不建议使用。如果我要尝试尝试,请按以下步骤进行。

  1. 安装mysql,尽可能接近旧服务器进行配置,或者仅使用相同的配置。确保它启动,重新启动,然后您可以登录。现在关闭mysql。

  2. 使用以下方法将旧安装移开 mv /var/lib/mysql /var/lib/mysql.orig

  3. rsync或将新文件复制到位。sudo rsync -av /old/mysql/ /var/lib/mysql/我建议将原始文件保持在当前状态,以防万一。

  4. sudo chown -R mysql: /var/lib/mysql然后启动mysql。检查日志,确保一切正常,然后登录Mysql。仔细检查以确保看起来像您的数据在那里。

假设一切顺利,您应该设置好。现在,立即对Mysql进行适当的修改,这样您下次就不必再胡说八道了。


1
在执行步骤1之前,我将谨慎执行上述步骤2。您要确保mysqld的安装和启动不会覆盖您的旧系统数据库。
malcolmpdx

那是个很好的观点。我以为/ var / lib / mysql不是来自原始安装。无论如何,是的,请确保在启动此文件之前原始文件不在/ var / lib / mysql中。在开始尝试加载原始数据之前,您想从一个新的Mysql实例开始。
kashani 2011年

谢谢,我略微修改了步骤以适应我的Zend Server CE和MacOS环境,它可以正常工作!
约翰,

@Kashani我遵循了这些指示(centos),但是在新服务器上我得到了要显示的表,但是数据和表没有..有什么想法吗?我看到了文件夹中没有显示的所有表格(看起来也像是正确的字符集)
K2xL 2012年

2
@ K2xL我不确定您在看什么。如果您使用所看到的内容以及完成方式的细节创建了一个新问题,那么我很乐意进行研究。请记住,以上方法仅适用于整个Mysql安装,不适用于单个数据库,因为Innodb表将数据存储在主ibdata文件中,无论您是否使用innodb_file_per_table。
kashani'4
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.