1626
MySQLERRORCommonReplicationHIGH confidence

Column type conversion failed on replica

Production Risk

High — replication stops until the type mismatch is resolved.

What this means

Row-based replication failed because a column value from the master could not be converted to the column type on the replica.

Why it happens
  1. 1The column definition differs between master and replica (e.g., INT on master vs TINYINT on replica).
  2. 2The value from the master is out of range for the replica column type.
  3. 3slave_type_conversions does not permit the required conversion.
How to reproduce
trigger — this will error
trigger — this will error
-- Master has INT column, replica has TINYINT; inserting value 300 fails on replica

expected output

ERROR 1626: Column 1 of table 'db.t' cannot be converted from type 'int' to type 'tinyint(4)'

Fix 1

Align column types between master and replica

Align column types between master and replica
ALTER TABLE t MODIFY col INT;

Why this works

Matching column types removes the need for type conversion.

Fix 2

Enable compatible type conversions on replica

Enable compatible type conversions on replica
SET GLOBAL slave_type_conversions = 'ALL_NON_LOSSY';

Why this works

Allows the replica to convert compatible types automatically without data loss.

What not to do

Version notes

Sources
Official documentation ↗

MySQL 8.0 — 1626 ER_SLAVE_CONVERSION_FAILED

Content generated with AI assistance and reviewed for accuracy. Found an error? hello@errcodes.dev

← All MySQL errors