我想通过将'name'设置为all,并在'when'条件下删除多个数据库。
name=all 只有当状态为dump或import时才会提供。
有什么办法可以删除所有(mysql)符合特定名称的数据库(例如所有名称以 "temp_20200422_"开头的数据库)?
有选项可以使用 mysql_info
模块中获取所有数据库的列表,然后在 mysql_db
- name: Get list of databases
mysql_info:
login_user: "{{ mysql_database.user }}"
login_password: "{{ mysql_database.password }}"
login_host: "{{ mysql_database.address }}"
filter:
- databases
register: databases
- name: "Delete temp databases older than 1 day"
mysql_db:
name: "{{ db }}"
state: absent
login_user: "{{ mysql_database.user }}"
login_password: "{{ mysql_database.password }}"
login_host: "{{ mysql_database.address }}"
loop_control:
loop_var: db
loop: "{{ databases.databases.keys() }}"
when: "temp__" in db