code: def _init_client():
      
      if client is not None:
          return
  
      global _mysql_kwargs, _table_name
      _mysql_kwargs = {
          'host': __opts__.get('mysql.host', '127.0.0.1'),
          'user': __opts__.get('mysql.user', None),
          'passwd': __opts__.get('mysql.password', None),
          'db': __opts__.get('mysql.database', _DEFAULT_DATABASE_NAME),
          'port': __opts__.get('mysql.port', 3306),
          'unix_socket': __opts__.get('mysql.unix_socket', None),
          'connect_timeout': __opts__.get('mysql.connect_timeout', None),
          'autocommit': True,
      }
      _table_name = __opts__.get('mysql.table_name', _table_name)
      # TODO: handle SSL connection parameters
  
      for k, v in _mysql_kwargs.items():
          if v is None:
              _mysql_kwargs.pop(k)
      kwargs_copy = _mysql_kwargs.copy()
      kwargs_copy['passwd'] = "<hidden>"
      log.info("mysql_cache: Setting up client with params: %r", kwargs_copy)
      # The MySQL client is created later on by run_query
      _create_table()
docs: Initialize connection and create table if needed