Skip to main content
GuideServerConfigure and deploy Tabsdata servers on your machine.TutorialsConfigure data integration workflows within a running Tabsdata server.Advanced TutorialsBuild end-to-end workflows between two specific systems.API ReferenceCLI ReferenceRelease Notes
Version: 2.0.0

tabsdatak.conn.mysql

BinlogPositionCDC start position: a binlog file + byte offset.
CdcColumnsFormatSpecLayout of the change-values payload on each emitted row: one of "columns", "struct" or "map".
CdcSrcCfgKey
CdcSrcCfgSpec
CredentialsSpecThe credential type for MySQL connections: UserPassword (user + password), spliced into the URI by the engine factory.
DEFAULT_SERVER_IDDefault MySQL replica server_id for the binlog stream (512).
DestCfgKey
DestCfgSpec
GtidPositionCDC start position: a MySQL Global Transaction ID.
IfTableExistsSpecWrite disposition when the target table exists: "append" adds rows; "replace" truncates before insert.
MySQLCdcStartFromSpecWhere a MySQL CDC stream begins: a "head" / "tail" keyword, a GtidPosition, a BinlogPosition or a TimestampPosition.
MySQLCdcStreamSrcMySQL CDC stream source for @stream_publisher.
MySQLCdcStreamSrcConnMySQL CDC connection used by MySQLCdcStreamSrc.
MySQLDestMySQL destination for @subscriber -- one target table per slot.
MySQLDestConnMySQL connection used by MySQLDest.
MySQLSrcMySQL source for @publisher -- one output slot per query.
MySQLSrcConnMySQL connection used by MySQLSrc.
MySQLTableNameSpecA MySQL table name, either table or database.table (at most two dot-separated parts).
MySQLTableNamesSpecA list of MySQL table names (see MySQLTableNameSpec).
QueriesSpecA non-empty, ordered list of SELECT statements -- one output slot per query.
RelativePositionSpecRelative CDC start position: "head" rewinds to the oldest change still in binlog retention; "tail" skips to the live edge (only later changes are emitted).
SrcCfgKey
SrcCfgSpec
TimestampPositionCDC start position given as a wall-clock timestamp.
UriSpecA SQLAlchemy-style MySQL URI, e.g.

CdcColumnsFormatSpec

type_alias
CdcColumnsFormatSpec: Literal['columns', 'struct', 'map']

Layout of the change-values payload on each emitted row: one of "columns", "struct" or "map".


CdcSrcCfgKey

type_alias
CdcSrcCfgKey: Literal['mysql.cdc.blocking_timeout_seconds', 'mysql.cdc.logging_level', 'tabsdata.cdc.buffer.max_rows', 'tabsdata.cdc.buffer.max_bytes', 'tabsdata.cdc.buffer.max_secs', 'tabsdata.cdc.trigger.max_rows', 'tabsdata.cdc.trigger.max_bytes', 'tabsdata.cdc.trigger.max_secs', 'tabsdata.cdc.poll_interval_seconds']

CdcSrcCfgSpec

type_alias
CdcSrcCfgSpec: Mapping[CdcSrcCfgKey, Any]

Resolved type:

Mapping[Literal['mysql.cdc.blocking_timeout_seconds', 'mysql.cdc.logging_level', 'tabsdata.cdc.buffer.max_rows', 'tabsdata.cdc.buffer.max_bytes', 'tabsdata.cdc.buffer.max_secs', 'tabsdata.cdc.trigger.max_rows', 'tabsdata.cdc.trigger.max_bytes', 'tabsdata.cdc.trigger.max_secs', 'tabsdata.cdc.poll_interval_seconds'], Any]

CredentialsSpec

type_alias
CredentialsSpec: UserPassword

The credential type for MySQL connections: UserPassword (user + password), spliced into the URI by the engine factory.


DEFAULT_SERVER_ID

constant
DEFAULT_SERVER_ID = 512

Default MySQL replica server_id for the binlog stream (512). Each concurrent CDC replica must use a unique id across the cluster.


DestCfgKey

type_alias
DestCfgKey: Literal['mysql.logging_level', 'tabsdata.sql.write_engine', 'tabsdata.sql.chunk_size']

DestCfgSpec

type_alias
DestCfgSpec: Mapping[DestCfgKey, Any]

Resolved type:

Mapping[Literal['mysql.logging_level', 'tabsdata.sql.write_engine', 'tabsdata.sql.chunk_size'], Any]

IfTableExistsSpec

type_alias
IfTableExistsSpec: Literal['append', 'replace']

Write disposition when the target table exists: "append" adds rows; "replace" truncates before insert.


MySQLCdcStartFromSpec

type_alias
MySQLCdcStartFromSpec: Union[RelativePositionSpec, GtidPosition, BinlogPosition, TimestampPosition]

Resolved type:

Literal['head', 'tail'] | GtidPosition | BinlogPosition | TimestampPosition

Where a MySQL CDC stream begins: a "head" / "tail" keyword, a GtidPosition, a BinlogPosition or a TimestampPosition.


MySQLTableNameSpec

type_alias
MySQLTableNameSpec: str

A MySQL table name, either table or database.table (at most two dot-separated parts). Parts may be backtick-quoted, using the doubled-backtick convention to embed a literal backtick.


MySQLTableNamesSpec

type_alias
MySQLTableNamesSpec: list[MySQLTableNameSpec]

Resolved type:

list[str]

A list of MySQL table names (see MySQLTableNameSpec).


QueriesSpec

type_alias
QueriesSpec: list[str]

A non-empty, ordered list of SELECT statements -- one output slot per query.


RelativePositionSpec

type_alias
RelativePositionSpec: Literal['head', 'tail']

Relative CDC start position: "head" rewinds to the oldest change still in binlog retention; "tail" skips to the live edge (only later changes are emitted).


SrcCfgKey

type_alias
SrcCfgKey: Literal['mysql.logging_level', 'tabsdata.sql.read_engine', 'tabsdata.sql.chunk_size', 'tabsdata.src_metadata.drop']

SrcCfgSpec

type_alias
SrcCfgSpec: Mapping[SrcCfgKey, Any]

Resolved type:

Mapping[Literal['mysql.logging_level', 'tabsdata.sql.read_engine', 'tabsdata.sql.chunk_size', 'tabsdata.src_metadata.drop'], Any]

UriSpec

type_alias
UriSpec: StrOrSecretSpec

Resolved type:

str | Secret

A SQLAlchemy-style MySQL URI, e.g. mysql+mysqlconnector://host:port/db. The scheme must be mysql or mariadb (an optional +driver is allowed). Accepts a plain string or a Secret.