class_docstr: Interact with MySQL.
  
  You can specify charset in the extra field of your connection
  as ``{"charset": "utf8"}``. Also you can choose cursor as
  ``{"cursor": "SSCursor"}``. Refer to the MySQLdb.cursors for more details.
  
  Note: For AWS IAM authentication, use iam in the extra connection parameters
  and set it to true. Leave the password field empty. This will use the
  "aws_default" connection to get the temporary token unless you override
  in extras.
  extras example: ``{"iam":true, "aws_conn_id":"my_aws_conn"}``
  
  You can also add "local_infile" parameter to determine whether local_infile feature of MySQL client is
  going to be enabled (it is disabled by default).
  
  :param schema: The MySQL database schema to connect to.
  :param connection: The :ref:`MySQL connection id <howto/connection:mysql>` used for MySQL credentials.
  :param local_infile: Boolean flag determining if local_infile should be used
  :param init_command: Initial command to issue to MySQL server upon connection
code: def __init__(self, *args, **kwargs) -> None:
      super().__init__(*args, **kwargs)
      self.schema = kwargs.pop("schema", None)
      self.connection = kwargs.pop("connection", None)
      self.local_infile = kwargs.pop("local_infile", False)
      self.init_command = kwargs.pop("init_command", None)
  
imports: from __future__ import annotations
  import json
  import logging
  from typing import TYPE_CHECKING, Any, Union
  from airflow.exceptions import AirflowOptionalProviderFeatureException
  from airflow.providers.common.sql.hooks.sql import DbApiHook
label_desc: Use image node_id 1 to create a new MySqlHook object from inherited base classes: DbApiHook with example: obj = MySqlHook()