Ansible 不会将特权从 USAGE 更改为 GRANT ALL
Ansible doesn't change privilage from USAGE to GRANT ALL
我使用以下 ansible 任务将所有权限授予所有数据库。
- 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
但是当我 运行 show grants for 'dbuser'@'XX.XX.XX.XX';
在 mysql(mariadb)
上时它显示我正在关注。
GRANT USAGE ON *.* TO 'dbuser'@'XX.XX.XX.XX' IDENTIFIED BY PASSWORD '*A7AD1ECBCD787B8CABE6A58AEA652A8B3CF5035BA82'
如何使用 ansible 将此 USAGE 更改为 GRANT ALL?
默认情况下 mysql_user
创建具有 localhost
主机部分的用户。
所以你的任务创建了 dbuser@localhost
和 GRANT ALL
。
如果需要其他主机,请为模块设置host=XX.XX.XX.XX
参数。
还有 host_all=yes
自 2.1 起修改权限时可用。
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
```
我使用以下 ansible 任务将所有权限授予所有数据库。
- 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
但是当我 运行 show grants for 'dbuser'@'XX.XX.XX.XX';
在 mysql(mariadb)
上时它显示我正在关注。
GRANT USAGE ON *.* TO 'dbuser'@'XX.XX.XX.XX' IDENTIFIED BY PASSWORD '*A7AD1ECBCD787B8CABE6A58AEA652A8B3CF5035BA82'
如何使用 ansible 将此 USAGE 更改为 GRANT ALL?
默认情况下 mysql_user
创建具有 localhost
主机部分的用户。
所以你的任务创建了 dbuser@localhost
和 GRANT ALL
。
如果需要其他主机,请为模块设置host=XX.XX.XX.XX
参数。
还有 host_all=yes
自 2.1 起修改权限时可用。
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
```