def METHOD_NAME():
    """backup the mysql database via mysqldump
    similar to the original bash script, thus
    - using the same time-stamp format
    - backup of the enckey
    """
    app = current_app
    filename = get_backup_filename("linotp_backup_%s.sql")
    backup_filename = os.path.abspath(filename)
    # ---------------------------------------------------------------------- --
    # setup db engine, session and meta from sql uri
    sql_uri = app.config.get("DATABASE_URI")
    engine = create_engine(sql_uri)
    if "mysql" not in engine.url.drivername:
        app.echo(
            "MySQL backup file can only be created from a"
            " MySQL database. current database driver "
            f"is {engine.url.drivername!r}"
        )
        raise click.Abort()
    # ---------------------------------------------------------------------- --
    # determine the mysql command parameters
    command = [
        "mysqldump",
        f"--user={engine.url.username}",
        f"--password={engine.url.password_original}",
        f"--port={engine.url.port or 3306}",
        f"--host={engine.url.host}",
        f"--result-file={backup_filename}",
        engine.url.database,
    ]
    # ---------------------------------------------------------------------- --
    # run the backup in subprocess
    app.echo(f"MySQL backup {backup_filename!r}", v=1)
    cmd = " ".join(command)
    result = subprocess.call(cmd, shell=True)
    if result != 0 or not os.path.isfile(backup_filename):
        app.echo(f"Failed to create MySQL backup file: {result!r}")
        raise click.Abort()
    app.echo(f"MySQL backup file {backup_filename!s} created!", v=1)