Ansible并没有将USAGE的特权改为GRANT ALL

时间:2016-08-19 00:06:35

标签: mysql ansible mariadb ansible-playbook

我使用了以下ansible任务来为所有数据库授予GRANT ALL特权。

- name: create new user {{ db_user }} with all privilege
  mysql_user: name="{{ db_user }}"
              password="{{ db_password }}"
              append_privs=yes
              priv=*.*:ALL,GRANT state=present

但是当我在mysql show grants for 'dbuser'@'XX.XX.XX.XX';上运行(mariadb)时,它会向我显示以下内容。

GRANT USAGE ON *.* TO 'dbuser'@'XX.XX.XX.XX' IDENTIFIED BY PASSWORD '*A7AD1ECBCD787B8CABE6A58AEA652A8B3CF5035BA82'

如何使用ansible将此USAGE更改为GRANT ALL?

2 个答案:

答案 0 :(得分:4)

默认情况下,mysql_user会创建localhost个主机部分的用户 因此,您的任务使用dbuser@localhost创建了GRANT ALL 如果您需要其他主机,请为模块设置host=XX.XX.XX.XX参数 在修改权限时,自2.1起可用host_all=yes

答案 1 :(得分:0)

mysql_user:
    name: root
    host: "{{item}}"
    password: "{{ mysql_root_password }}"
    priv: "*.*:ALL,GRANT"
    host_all: yes
  with_items:
    - "{{ ansible_hostname }}"
    - 127.0.0.1
    - ::1
    - localhost
```