【发布时间】:2017-11-26 17:24:24
【问题描述】:
我知道how to restore a dump file from mysqldump。现在,我正在尝试使用 kubernetes 和 docker 容器来做到这一点。数据库文件处于持久 (nfs) 挂载状态。 docker 不能在集群外部被访问,因为不需要任何外部的东西来触摸它。
我试过了:
kubectl run -i -t dbtest --image=mariadb --restart=Never --rm=true --command -- mysql -uroot -ps3kr37 < dump.sql
和
kubectl exec mariadb-deployment-3614069618-mn524 -i -t -- mysql -u root -p=s3kr37 < dump.sql
但是这两个命令都不起作用——关于 TTY、套接字和其他东西的错误暗示我在这里遗漏了一些重要的东西。
我在这里不明白什么?
我可以停止部署,对数据库文件进行 scp,然后重新启动容器并希望一切顺利。但是,什么可以做对呢?
Install an sql dump file to a docker container with mariaDB 的问题确实看起来像重复但不是:首先,我使用的是 Linux 而不是 Windows,更重要的是,答案都是关于使用转储进行初始化。我希望能够丢弃数据并恢复到转储数据。这是一个最终将成为“实时”的测试系统,因此我需要从许多潜在的转储中恢复。
【问题讨论】:
-
用你的数据库将 NFS 挂载到容器中,然后像本地一样以常规方式导入转储呢?
标签: mysql docker kubernetes mariadb