如果机器不工作但我可以将旧驱动器安装到新驱动器上,如何迁移 MySQL 和 Apache 数据和设置?

如果机器不工作但我可以将旧驱动器安装到新驱动器上,如何迁移 MySQL 和 Apache 数据和设置?

我的主板突然死机了,但它是一台旧机器(运行正常)。因此,我将一个新的 Ubuntu 系统与全新的 14.04 安装(相同的用户名)放在一起,并将旧驱动器(带有完整的文件系统)安装为辅助设备。

如何将 mysql 设置和数据以及 apache 设置和数据从旧驱动器迁移到新机器?

任何帮助将不胜感激。

答案1

Ubuntu 11 到 14.04 的升级意味着您的内核库,因此二进制文件必须有所不同,包括 Apache 和 MySQL 服务器。因此,您必须再次安装二进制文件,并且只能复制文本配置文件并希望配置参数仍然有效。

对于 Apache,首先安装 Apache,然后:

stop apache

/etc/apache2将旧驱动器上目录下的所有文本文件复制到/etc/apache2新驱动器上,保留相对路径并替换所有重复项:

cp -r /path/to/old/etc/apache2 /etc/apache2

手动设置新版本中 mods-available 和 mods-enabled 之间的符号链接,/etc/apache2以匹配旧版本中的符号链接/etc/apache2。如果有模块被重命名或使用不同的设置并且 Apache 抱怨,请根据需要编辑 apache2.conf。然后,

start apache

对于 MySQL,首先安装 MySQL 服务器。 @vembutech 的答案很好,但他忽略了如果您有任何自定义 MySQL 设置,例如内存、线程分配等,那么您在新的 MySQL 安装中就没有它们。因此: ` 保存新的 /etc/mysql/my.cnf 的副本:

sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.orig

/etc/mysql/my.cnf从旧磁盘复制到/etc/mysql/my.cnf新磁盘:

sudo cp /path/to/old/etc/mysql/my.cnf /etc/mysql/my.cnf

较新的 MySQL 所需的缺失参数可以从保存的 my.cnf 副本中获取。

答案2

如果您有 MySQL 的数据文件夹,其中 ibdata 和cnf/.ini 文件可用。您可以按照以下步骤重建MySQL实例。

  • 在新实例中安装 MySQL,并使用与之前相同的 MySQL 版本
  • 停止mysql
  • 打开 cnf 文件并将 datadir 属性更改为旧的 MySQL ibdata 文件可用位置。
  • 删除旧实例创建的数据文件夹中的日志文件并启动 MySQL。

相关内容