将MySQL服务器从一个盒子迁移到另一个盒子

Bra*_*ght 8 mysql linux migration

数据库非常大(> 400MB),因此转储> SCP>源证明是小时数和小时数.

有没有更简单的方法?我可以直接连接到数据库并从新服务器导入吗?

che*_*vim 12

您只需复制整个/ data文件夹即可.

看看高性能MySQL - 传输大文件


Jas*_*ith 6

使用可以使用ssh直接通过Internet管道数据.首先设置SSH密钥以进行无密码登录.接下来,尝试这样的事情:

$ mysqldump -u db_user -p some_database | gzip | ssh someuser@newserver 'gzip -d | mysql -u db_user --password=db_pass some_database'
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 基本的想法是,您只是将标准输出直接转储到另一侧的命令中,SSH非常适合.
  • 如果您不需要加密,那么您可以使用netcat但它可能不值得
  • SQL文本数据通过线路压缩!
  • 显然,更改db_user为用户用户和some_database数据库.someuser是(Linux)系统用户,而不是MySQL用户.
  • 你还必须使用--password很长的路要走,因为有了mysql提示你将会很头疼.

  • 而不是在ssh的两侧gziping你可以使用-C来ssh来压缩它的流量 (3认同)
  • 你不需要使用ssh.您可以这样做:mysqldump -u db_user -p some_database | mysql -u db_user -p -h newserver some_database (2认同)