繁体   English   中英

将MySQL数据库从一个服务器导入另一个服务器

[英]Importing MySQL database from one server to another

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

谢谢

如果你想避免创建文件,传输文件和加载它,你可以将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”

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

资源

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM