一尘不染

如何将数据库从一台服务器移动到另一台服务器?

mysql

如何将 MySQL 表从一台物理服务器移动到另一台?

例如这个确切的场景: 我有一个使用 innodb 表的 MySQL 服务器,大小约为 20GB。

我想将其移至新服务器,最有效的方法是什么?


阅读 54

收藏
2022-10-09

共1个答案

一尘不染

我最近使用以下策略移动了一个 30GB 的数据库:

旧服务器

  • 停止mysql服务器
  • 将datadir的内容复制到磁盘上的另一个位置 ( ~/mysqldata/*)
  • 再次启动 mysql 服务器(停机时间为 10-15 分钟)
  • 压缩数据 ( tar -czvf mysqldata.tar.gz ~/mysqldata)
  • 将压缩文件复制到新服务器

新服务器

  • 安装mysql(不要启动)
  • 解压压缩文件 ( tar -xzvf mysqldata.tar.gz)
  • 将mysqldata的内容移动到datadir
  • 确保您的 innodb_log_file_size 在新服务器上是相同的,或者如果不是,请不要复制旧的日志文件mysql 将生成这些文件)
  • 启动mysql
2022-10-09