diff --git a/lib/ansible/modules/database/mysql/mysql_user.py b/lib/ansible/modules/database/mysql/mysql_user.py index 854641ec521..293464ca814 100644 --- a/lib/ansible/modules/database/mysql/mysql_user.py +++ b/lib/ansible/modules/database/mysql/mysql_user.py @@ -317,8 +317,13 @@ def privileges_unpack(priv): privs = [] for item in priv.strip().split('/'): pieces = item.strip().split(':') - dbpriv = pieces[0].rsplit(".", 1) - pieces[0] = "`%s`.%s" % (dbpriv[0].strip('`'), dbpriv[1]) + if '.' in pieces[0]: + pieces[0] = pieces[0].split('.') + for idx, piece in enumerate(pieces): + if pieces[0][idx] != "*": + pieces[0][idx] = "`" + pieces[0][idx] + "`" + pieces[0] = '.'.join(pieces[0]) + if '(' in pieces[1]: output[pieces[0]] = re.split(r',\s*(?=[^)]*(?:\(|$))', pieces[1].upper()) for i in output[pieces[0]]: