C.3.1.  MySQLExtractException: unknown data type 0

Last Updated: 2014-04-15

Condition or Error

Replication fails to extract the data from the MySQL binary log, and the replicator will not go online again.

Causes

  • The format of DECIMAL types between MySQL 4.x and MySQL 5.0 changed, however, the datatype was not automatically modified during an upgrade process. This means that tables that were created in MySQL 4.x and now exist within MySQL 5.0 using the DECIMAL generate an incompatible entry within the MySQL binary log. The upgrade and mysql_upgrade commands do not update the tables correctly. More detailed information on the change and issue can be located in Bug #57166.

Rectifications

  • The table definition must be manually upgraded to force the change of the columns using the older DECIMAL type. The recommended correction is to explicitly upgrade the DECIMAL columns. For example:

    mysql> ALTER TABLE faulty MODIFY COLUMN faulty_column DECIMAL;

    This should be performed on the Primary within your topology. To correct the error, you must use tpm reset-thl to regenerate the THL.