mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-06 05:12:45 +00:00
Remove extra quote from the mysqldump password argument
The mysqldb Ansible module will fail if the state specified is import or dump with a '1045: Access Denied' mysql error for complex passwords.
This is caused by the extra quote around the '--password' argument to mysqldump, as pipes.quotes already quotes the password string.
>>> "--password='%s'" % pipes.quote('simple')
"--password='simple'"
>>> "--password='%s'" % pipes.quote('c0mplexp@ssword!')
"--password=''c0mplexp@ssword!''"
>>> "--password='%s'" % pipes.quote('password with space')
"--password=''password with space''"
This commit is contained in:
@@ -124,7 +124,7 @@ def db_delete(cursor, db):
|
||||
|
||||
def db_dump(module, host, user, password, db_name, target, port, socket=None):
|
||||
cmd = module.get_bin_path('mysqldump', True)
|
||||
cmd += " --quick --user=%s --password='%s'" % (pipes.quote(user), pipes.quote(password))
|
||||
cmd += " --quick --user=%s --password=%s" % (pipes.quote(user), pipes.quote(password))
|
||||
if socket is not None:
|
||||
cmd += " --socket=%s" % pipes.quote(socket)
|
||||
else:
|
||||
@@ -141,7 +141,7 @@ def db_dump(module, host, user, password, db_name, target, port, socket=None):
|
||||
|
||||
def db_import(module, host, user, password, db_name, target, port, socket=None):
|
||||
cmd = module.get_bin_path('mysql', True)
|
||||
cmd += " --user=%s --password='%s'" % (pipes.quote(user), pipes.quote(password))
|
||||
cmd += " --user=%s --password=%s" % (pipes.quote(user), pipes.quote(password))
|
||||
if socket is not None:
|
||||
cmd += " --socket=%s" % pipes.quote(socket)
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user