我在xx.xx.xx.xx服务器上有一个名为db_x的数据库。 我想将此数据库(db_x)的所有表移动到另一个服务器(yy.yy.yy.yy)上的另一个数据库(db_y)。
我可以通过连接到ssh来使用终端吗?
请帮帮我。
答案 0 :(得分:1)
进行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在评论中所述,它通常在两个步骤中更快,你也可以避免从localhost访问数据库的必要性:
# 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复制到另一台服务器。如果需要,首先将其复制到localhost,然后从那里复制到服务器yy.yy.yy.yy。
确保已在服务器Y上创建数据库db_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)是否需要-h xx.xx.xx.xx
和/或-h yy.yy.yy.yy
开关
取决于你的设置。