我正在尝试将远程数据库转储到本地Docker容器的数据库中。
$ docker exec -i my_container \
mysqldump my_remote_database -h my_remote_host.me -u my_remote_user -p
这给了我很好的远程转储
所以这是我的尝试:
$ docker exec -i my_container \
mysqldump my_remote_database -h my_remote_host.me -u my_remote_user -p \
| docker exec -i my_container mysql -u my_local_user -pmy_local_password \
-D my_local_database
$ docker exec -i my_container bash -c \
"mysqldump my_remote_database -h my_remote_host.pp -u my_remote_user -p \
| mysql -u my_local_user -pmy_local_password -D my_local_database"
两者似乎都对本地数据库没有任何影响(尽管没有错误)
如何传输这些数据?
我一直喜欢在交互式终端中从容器内部解决问题。
首先,使图像容器运行,并检查以下内容:
docker exec -ti my_container bash
,远程主机名会my_remote_host.me
解析吗,您可以路由到它吗?使用ping或nslookup。mydump.sql
转储文件。然后检查容器内部:
mysql -u my_local_user -pmy_local_password -D mylocaldb < mydump.sql
如果这一切都可行,那么您可以开始查看管道出现故障的原因,但是我怀疑问题可能出在其中一种解决方法上。
我注意到你说本地数据库。容器内部或Docker主机上的“本地数据库”是否正在运行套接字连接?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句