我使用了下面的任务来授予所有数据库以ALL 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将此用法更改为GRANT ALL?
最佳答案
默认情况下,mysql_user
创建具有localhost
主机部分的用户。
因此,您的任务使用dbuser@localhost
创建了GRANT ALL
。
如果需要其他主机,请为模块设置host=XX.XX.XX.XX
参数。
从2.1开始,修改权限时还提供host_all=yes
。
关于mysql - Ansible不会将特权从USAGE更改为GRANT ALL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39029283/