如何在Ansible中显示MySQL查询结果

45次阅读
没有评论

问题描述

在使用Ansible进行MySQL查询时,使用了community.mysql集合,并成功运行了一个针对数据库的查询。但是,他无法找到如何显示查询结果的文档,希望能够获得相关指导。

解决方案

以下操作可能会根据Ansible版本略有不同,请在进行操作前仔细查阅官方文档或备份数据。

查看查询结果

community.mysql.mysql_query模块的文档中列出了返回值,包括:
executed_queries
query_results
rowcount

因此,如果你在任务中注册了r_query,想要查看查询结果,可以使用r_query.query_result来访问。

示例

通常在开发playbook时,可以使用ansible.builtin.debug任务将结果输出到stdout,以便查看结果。以下是一个示例:

- name: Get stats of a file
  hosts: localhost
  become: true
  tasks:
    - name: Run MySQL query
      community.mysql.mysql_query:
        login_user: testuser
        login_password: testpass
        login_db: test_db
        query: SELECT * FROM STATION WHERE ID = %(id_val)s AND STATE = %(story_val)s
        named_args:
          id_val: 12
          story_val: AZ
      register: r_query
    - name: Show query result
      ansible.builtin.debug:
        msg: "{{ r_query.query_result }}"

在上面的示例中,我们首先使用community.mysql.mysql_query模块运行了一个MySQL查询,并将结果注册到了r_query中。然后,使用ansible.builtin.debug任务将查询结果输出到控制台。

通过这个示例,你可以在运行playbook时,看到查询结果的内容。

总结

使用ansible.builtin.debug任务可以帮助你在开发playbook时,快速查看变量的值,从而更好地了解任务的执行结果。如果你还需要进一步处理查询结果,可以根据实际情况,使用Ansible提供的其他模块和功能进行操作。

记得查阅官方文档以获取最新信息,并根据实际情况调整操作步骤。希望这些指导对你有所帮助!

正文完