我在 xx.xx.xx.xx 服务器上有一个名为 db_x 的数据库。 我想将此数据库( db_x )的所有表移动到位于不同服务器(yy.yy.yy.yy)上的另一个数据库(db_y)。
我可以通过连接到 ssh 来使用终端吗?
请帮助我。
最佳答案
对 db_x 进行转储(备份)并将其导入到 db_y 中。这可以一步完成:
mysqldump -u... -p... -h xx.xx.xx.xx db_x | mysql -u... -p... -h yy.yy.yy.yy db_y
更新
请注意,此解决方案仅在您可以从本地 PC 连接到两个数据库时才有效。
正如 @BerndBuffen 在评论中所述,通常只需 2 个步骤即可更快,并且您还可以避免从本地主机访问数据库的必要性:
# go to X server and make the dump there:
ssh xx.xx.xx.xx
mysqldump -u ... -p... db_x | gzip > db_x.sql.gz
将文件 db_x.sql.gz 复制到其他服务器。如果需要,首先将其复制到本地主机,然后从那里复制到服务器 yy.yy.yy.yy。
确保数据库 db_y
已在服务器 Y 上创建。
# go to Y server and import the dump there:
ssh yy.yy.yy.yy
gzip -dc db_x.sql.gz | mysql -u ... -p... db_y
当您已连接到各自的服务器(通过 ssh) 取决于您的设置。
关于mysql - 将所有表从数据库复制到另一个服务器数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35948329/