[Maria-discuss] Incorrect Documentation: Replicating JSON from MySQL to MariaDB
On this page: https://mariadb.com/kb/en/json-data-type/ it states: If you must use row-based replication and cannot change the MySQL master from JSON to TEXT, you can try to introduce an intermediate MySQL slave and change the column type from JSON to TEXT on it. Then you replicate from this intermediate slave to MariaDB. I can confirm that this does not work with MySQL 5.7. If you have a 5.7 master and you replicate to 5.7 slave, and you convert the slave's json columns to longtext, replication fails with this error: "Column X of table 'dbname.tablename' cannot be converted from type 'json' to type 'longtext'" Using longblob doesn't work either. So it seems there is currently no viable solution for replicating anything that involves JSON columns from MySQL to MariaDB.
Hi, Gordan, Would it work if you install "mysql_json" plugin in the MariaDB and then replicate MySQL->MariaDB? I didn't try myself, but I've checked the sources and it appears that it was supposed to work. If it won't - please, report it as a bug. On May 29, Gordan Bobic wrote:
On this page: https://mariadb.com/kb/en/json-data-type/
it states: If you must use row-based replication and cannot change the MySQL master from JSON to TEXT, you can try to introduce an intermediate MySQL slave and change the column type from JSON to TEXT on it. Then you replicate from this intermediate slave to MariaDB.
I can confirm that this does not work with MySQL 5.7. If you have a 5.7 master and you replicate to 5.7 slave, and you convert the slave's json columns to longtext, replication fails with this error:
"Column X of table 'dbname.tablename' cannot be converted from type 'json' to type 'longtext'"
Using longblob doesn't work either.
So it seems there is currently no viable solution for replicating anything that involves JSON columns from MySQL to MariaDB.
Regards, Sergei VP of MariaDB Server Engineering and security@mariadb.org
"Starting from MariaDB 10.5.7 ..." Unfortunately, 10.5+ is not an option at the moment for the environment where I need this to work. On Sun, May 29, 2022 at 1:13 PM Sergei Golubchik <serg@mariadb.org> wrote:
Hi, Gordan,
Would it work if you install "mysql_json" plugin in the MariaDB and then replicate MySQL->MariaDB?
I didn't try myself, but I've checked the sources and it appears that it was supposed to work.
If it won't - please, report it as a bug.
On May 29, Gordan Bobic wrote:
On this page: https://mariadb.com/kb/en/json-data-type/
it states: If you must use row-based replication and cannot change the MySQL master from JSON to TEXT, you can try to introduce an intermediate MySQL slave and change the column type from JSON to TEXT on it. Then you replicate from this intermediate slave to MariaDB.
I can confirm that this does not work with MySQL 5.7. If you have a 5.7 master and you replicate to 5.7 slave, and you convert the slave's json columns to longtext, replication fails with this error:
"Column X of table 'dbname.tablename' cannot be converted from type 'json' to type 'longtext'"
Using longblob doesn't work either.
So it seems there is currently no viable solution for replicating anything that involves JSON columns from MySQL to MariaDB.
Regards, Sergei VP of MariaDB Server Engineering and security@mariadb.org
participants (2)
-
Gordan Bobic
-
Sergei Golubchik