docs: def CheckMySQLConnection(db_options):
    """Checks whether a connection can be established to MySQL.
  
    Args:
      db_options: A dict mapping GRR MySQL config options to their values.
  
    Returns:
      A boolean indicating whether a connection could be made to a MySQL server
      instance with the given options.
    """
    for tries_left in range(_MYSQL_MAX_RETRIES, -1, -1):
      try:
        connection_options = dict(
            host=db_options["Mysql.host"],
            port=db_options["Mysql.port"],
            db=db_options["Mysql.database_name"],
            user=db_options["Mysql.database_username"],
            passwd=db_options["Mysql.database_password"],
            charset="utf8")
  
        ssl_enabled = "Mysql.client_key_path" in db_options
        if ssl_enabled:
          connection_options["ssl"] = {
              "key": db_options["Mysql.client_key_path"],
              "cert": db_options["Mysql.client_cert_path"],
              "ca": db_options["Mysql.ca_cert_path"],
          }
  
        connection = MySQLdb.connect(**connection_options)
  
        if ssl_enabled:
          cursor = connection.cursor()
          cursor.execute("SHOW VARIABLES LIKE 'have_ssl'")
          res = cursor.fetchone()
          if res[0] == "have_ssl" and res[1] == "YES":
            print("SSL enabled successfully.")
          else:
            print("Unable to establish SSL connection to MySQL.")
            return False
  
        return True
      except MySQLdb.OperationalError as mysql_op_error:
        if len(mysql_op_error.args) < 2:
          # We expect the exception's arguments to be an error-code and
          # an error message.
          print("Unexpected exception type received from MySQL. %d attempts "
                "left: %s" % (tries_left, mysql_op_error))
          time.sleep(_MYSQL_RETRY_WAIT_SECS)
          continue
        if mysql_op_error.args[0] == mysql_conn_errors.CONNECTION_ERROR:
          print("Failed to connect to MySQL. Is it running? %d attempts left." %
                tries_left)
        elif mysql_op_error.args[0] == mysql_conn_errors.UNKNOWN_HOST:
          print("Unknown-hostname error encountered while trying to connect to "
                "MySQL.")
          return False  # No need for retry.
        elif mysql_op_error.args[0] == general_mysql_errors.BAD_DB_ERROR:
          # GRR db doesn't exist yet. That's expected if this is the initial
          # setup.
          return True
        elif mysql_op_error.args[0] in (
            general_mysql_errors.ACCESS_DENIED_ERROR,
            general_mysql_errors.DBACCESS_DENIED_ERROR):
          print("Permission error encountered while trying to connect to "
                "MySQL: %s" % mysql_op_error)
          return False  # No need for retry.
        else:
          print("Unexpected operational error encountered while trying to "
                "connect to MySQL. %d attempts left: %s" %
                (tries_left, mysql_op_error))
      except MySQLdb.Error as mysql_error:
        print("Unexpected error encountered while trying to connect to MySQL. "
              "%d attempts left: %s" % (tries_left, mysql_error))
      time.sleep(_MYSQL_RETRY_WAIT_SECS)
    return False