【问题标题】:How make a wait import sql file?如何制作等待导入sql文件?
【发布时间】:2019-11-07 07:59:22
【问题描述】:

我有 3 个容器:nginxphp-fpmmysql 5.7。我导入了一个带有卷的大型 SQL 文件。当我连接到容器mysql 时,只能看到部分表格。

如何正确等待 SQL 文件导入。能否举个使用例子(healthcheck 或 .sh 文件)?

【问题讨论】:

标签: mysql docker docker-compose kubernetes-health-check


【解决方案1】:

有这个管道查看器,您可以使用它从转储文件中导入。在DBA case 里面很好地解释了。

您可以使用livenessProbe 来检查 mysql 是否有响应,这可能如下所示:

livenessProbe:
  exec:
    command: ["mysqladmin", "ping"]
  initialDelaySeconds: 30
  periodSeconds: 10
  timeoutSeconds: 5

在第一次检查前等待 30 秒,之后每 10 秒进行一次检查。失败超时设置为 5 秒。

您也可以使用readinessProbe 来检查数据库是否准备好接受连接:

readinessProbe:
  exec:
     # Check we can execute queries over TCP (skip-networking is off).
    command: ["mysql", "-h", "127.0.0.1", "-e", "SELECT 1"]
  initialDelaySeconds: 5
  periodSeconds: 2
  timeoutSeconds: 1

命令将在容器启动后 5 秒后执行,并且每 2 秒执行一次。超时 1 秒后探测将失败。 pod 不会处于 Ready 状态,因此如果探测失败,它将不会接受连接。

【讨论】:

    猜你喜欢
    • 2014-03-05
    • 2018-08-24
    • 2021-02-09
    • 2016-03-20
    • 1970-01-01
    • 2011-03-14
    • 2011-11-11
    • 2018-09-17
    • 2016-07-30
    相关资源
    最近更新 更多