🔥
Ansible 2.8に移行した時mysql_userでハマったエラー
回避策を記載しておきます。
2.8へ移行したのが原因かの詳しい調査はしていません。
Before
--checkしたところ、パラメータを変えていないのにchangedになっていてなんでかなーと思って実行したら以下のエラー。
"msg": "(1144, 'Illegal GRANT/REVOKE command; please consult the manual to see which privileges can be used')"
playbookは以下のとおり。
- name: create user
mysql_user:
name: user01
password: password01
host: "%"
priv: >-
db01.*:SELECT,INSERT,UPDATE,DELETE,LOCK TABLES/
FUNCTION db01.*:EXECUTE,ALTER ROUTINE
After
FUNCTIONを`で囲ってあげれば回避可能。
- name: create user
mysql_user:
name: user01
password: password01
host: "%"
priv: >-
db01.*:SELECT,INSERT,UPDATE,DELETE,LOCK TABLES/
`FUNCTION db01`.*:EXECUTE,ALTER ROUTINE
Discussion