diff --git a/library/mysql_db b/library/mysql_db index f1f61837635..58c3d974edb 100755 --- a/library/mysql_db +++ b/library/mysql_db @@ -180,18 +180,21 @@ def main(): elif login_password is None or login_user is None: module.fail_json(msg="when supplying login arguments, both login_user and login_password must be provided") + if state in ['dump','import']: + if target is None: + module.fail_json(msg="with state={0} target is required".format(state)) + connect_to_db = db + else: + connect_to_db = 'mysql' try: if module.params["login_unix_socket"] != None: - db_connection = MySQLdb.connect(host=module.params["login_host"], unix_socket=module.params["login_unix_socket"], user=login_user, passwd=login_password, db=db) + db_connection = MySQLdb.connect(host=module.params["login_host"], unix_socket=module.params["login_unix_socket"], user=login_user, passwd=login_password, db=connect_to_db) else: - db_connection = MySQLdb.connect(host=module.params["login_host"], user=login_user, passwd=login_password, db=db) + db_connection = MySQLdb.connect(host=module.params["login_host"], user=login_user, passwd=login_password, db=connect_to_db) cursor = db_connection.cursor() except Exception as e: module.fail_json(msg="unable to connect, check login_user and login_password are correct, or alternatively check ~/.my.cnf contains credentials") - if (state in ['dump','import']) and target is None: - module.fail_json(msg="with state={0} target is required".format(state)) - changed = False if db_exists(cursor, db): if state == "absent":