如何在 Ansible 中运行 MySQL 查询

Ran*_*ish 5 mysql automation ansible

我需要编写一个 Ansible 脚本来在 MySQL 数据库中执行 SQL 查询。

这是我尝试过的。你能指导一下吗?

---
- hosts: localhost
  tasks:
   - name: retrive data
     command: mysql -u root -h localhost dbname ansible --execute "select * from MyGuests"
Run Code Online (Sandbox Code Playgroud)

PdC*_*PdC 4

您可以mysql_query在 Ansible 2.10+ 中使用该模块。请看下面的例子:

- name: Select query to test_db with named_args
  mysql_query:
  login_db: test_db
  query: SELECT * FROM test WHERE id = %(id_val)s AND story = %(story_val)s
  named_args:
    id_val: 1
    story_val: test
Run Code Online (Sandbox Code Playgroud)

请注意使用此模块的要求:PyMySQL(Python 2.7 和 Python 3.X)或 MySQLdb(Python 2.x)

有关更多信息: https://docs.ansible.com/ansible/devel/modules/mysql_query_module.html(适用于 Ansible 开发版本)

  • 值得一提的是,这仅在 Ansible 2.10 中可用 (3认同)