[MDEV-5785] RBR between old master and new slave breaks on direct updates to system tables Created: 2014-03-04  Updated: 2014-09-10  Resolved: 2014-09-10

Status: Closed
Project: MariaDB Server
Component/s: None
Affects Version/s: 5.5.36, 10.0.8
Fix Version/s: N/A

Type: Bug Priority: Minor
Reporter: Elena Stepanova Assignee: Sergei Golubchik
Resolution: Won't Fix Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-4332 Increase username length from 16 char... Closed
relates to MDEV-5705 replication testing: 5.6->10.0 Stalled

 Description   

Updates of the kind

insert into mysql.tables_priv (host,db,user,table_name,grantor,table_priv) VALUES ('localhost','test','user','t1','root@localhost','Select');

break replication, if it's set up between an older master (having short User field and such) to a newer slave, with increased field length:

Last_Error: Column 2 of table 'mysql.tables_priv' cannot be converted from type 'char(16)' to type 'char(80)'

Such updates shouldn't normally be done, but they are not forbidden and in some cases are useful, e.g. for bulk updates.
Besides, they can come if the data is restored from mysqldump backup/



 Comments   
Comment by Sergei Golubchik [ 2014-09-10 ]

True, and there's nothing we can do about it. A workaround is to specify

SET GLOBAL SLAVE_TYPE_CONVERSIONS='ALL_NON_LOSSY';

Generated at Thu Feb 08 07:07:02 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.