从一台服务器导入MySQL数据库到另一台服务器

我有两个具有root权限的专用服务器。 两者都在运行Linux。 我想从Server1导入数据库到Server2。 我已经在Server2上创build了一个空的数据库。 我想知道通过哪个Linux命令我可以直接导入数据库? 有这样的function吗? 我可以使用mysqldump吗? 我想避免首先在server1上进行数据库备份,然后将该文件移动到server2,然后导入该文件。 可以使用一些命令直接导入?

谢谢

Solutions Collecting From Web of "从一台服务器导入MySQL数据库到另一台服务器"

如果你想避免创建文件,传输和加载文件,你可以将mysqldump传入另一台服务器上运行的mysql,或者另一台服务器上的ssh mysql。

使用mysql连接到远程框:

mysqldump --all-databases | mysql -h yourserver.com 

使用ssh连接到其他服务器

 mysqldump --all-databases | ssh user@yourserver.com mysql 

使用mysqldump –all-databases将其全部传输,或者只指定数据库名称。 请参阅mysqldump文档以获取更多选项。

你也可以使用MySQL的“复制”功能,虽然这需要更多的时间来设置,而且相当棘手。 可能不值得所有的时间和麻烦只为一个单一的迁移。

在第一台服务器上停止mysqld,将数据目录(通常为/ var / lib / mysql)从服务器1复制到服务器2,在第二台服务器上启动mysqld,现在它将与第一台服务器相同。

如果您可以在复制数据文件时停止服务器,则不必使用导入/导出工具。 特别是如果您可以在复制文件之前压缩文件,这将是最快的方法。

 mysqldump –add-drop-table –extended-insert –force –log-error=error.log -uUSER -pPASS OLD_DB_NAME | ssh -C user@newhost “mysql -uUSER -pPASS NEW_DB_NAME” 

将MySQL数据库转储到压缩的SSH隧道上,并将其用作mysql的输入

资源