使用 Ansible 任务运行 SELECT 查询
在 this 的 Ansbile mysql 数据库模块列表中,有一个用于创建数据库,或者创建用户等
In this list of mysql db modules for Ansbile, there's one for creating a db, or creating a user, etc.
我想对预先存在的表运行查询,并使用该查询的结果来填充 Ansible 变量(IP 地址列表和节点类型),我将根据节点类型运行不同的任务.
I would like to run a query against a pre-existing table and use the results of that query to populate an Ansible variable (list of IP addresses, and node type) upon which I would run different tasks, depending on node type.
在 Ansible 中如何做到这一点?
How can that be done in Ansible?
推荐答案
这大概是怎么做的(但未经测试):
This is approximately how to do it (but it is untested):
- name: Retrieve stuff from mysql
command: >
mysql --user=alice --password=topsecret dbname
--host=147.102.160.1 --batch --skip-column-names
--execute="SELECT stuff from stuff_table"
register: stuff
check_mode: no
changed_when: False
- name: Do something with stuff
debug: "{{ item }}"
with_items: stuff.stdout_lines
记录在此处.
相关文章