5

我有一本需要从上游刷新数据库的剧本。它正在删除现有数据库,重新创建它,下载最新的生产备份(.sql.gz格式)并尝试导入它。在最后一步,我得到了这个:

任务 [部署:数据库 | 从上游数据加载数据库] **************** 致命:[54_236_190_225]:失败!=> {“更改”:假,“失败”:真,“味精”:“\ngzip:标准输出:损坏的管道\n”}

任务:

- name: Database | Load the database from upstream data
  mysql_db:
    state: import
    target: /tmp/catalog-3-19-16.sql.gz
    login_host: "{{ mysql_host }}"
    login_port: "{{ mysql_port }}"
    login_user: "root"
    login_password: "{{ mysql_root_password }}"
    name: "{{ mysql_db }}"

/tmp/catalog-3-19-16.sql.gz文件存在于服务器上。

我错过了什么?

4

2 回答 2

0

嗨,你的剧本很完美。如果您已手动将数据导入 db 中,然后尝试使用 ansible 检查相同的数据,则会失败。尝试先删除数据库,然后创建数据库并运行您的导入任务剧本,它将完美运行

于 2021-02-12T07:21:40.210 回答
0

确保您可以使用凭据通过终端登录,请注意我使用的是默认端口和 localhost。

 - name: Importing data
   mysql_db:
     name: "{{ db_name }}"
     login_user: root
     login_host: localhost
     login_password: "{{ mysql_root_password }}"
     config_file: no
     state: import
     target: /tmp/catalog-3-19-16.sql.gz
于 2017-11-20T15:31:47.460 回答