创建可以访问个人数据库的多个用户

问题描述

需要创建七个数据库,每个数据库需要一个数据库同名的用户

db_names:
   - keystone
   - neutron
   - glance
   - placement
   - nova
   - nova_api
   - nova_cell0
- name: Create user with password
  MysqL_user:
    login_unix_socket: "{{ mariadb_login_unix_socket }}"
    login_user: root
    login_password: "{{ MysqL_root_pass }}"
    state: present
    name: "{{ db_names }}"
    password: "{{ MysqL_root_pass }}"
    update_password: always
    priv:
      "{{ db_names }}.*:ALL,GRANT"

目前,正在数据库中创建一行,所有名称都在一行中。

解决方法

你可以像这样使用循环:

tasks:
  - name: Create user with password
    mysql_user:
      login_unix_socket: "{{ mariadb_login_unix_socket }}"
      login_user: root
      login_password: "{{ mysql_root_pass }}"
      state: present
      name: "{{ item }}"
      password: "{{ mysql_root_pass }}"
      update_password: always
      priv:
        "{{ item }}.*:ALL,GRANT"
      with_items: ["dbname1","dbname2","dbname3"]