TOKUDB : tell me - can 5.6 Tokudb SLAVE replicate from mysql 5.5 TokuDB MASTER db ??

I trying to migrate from one Datacenter with MySQL 5.5 with tokudb storage engine
to a new datacenter with MySQL 5.6 w/ tokudb storage engine
I am trying to do this by building out Slaves in new datacenter reading from Master in Old Datacenter
and when they are caught up - have a production outage for a couple minutes
Flush the master logs then switch application to read/write from old to new datacenter where I appoint one of the Slaves to be the new Master

I know the Tokudb File header structure is different in MySQL 5.5 (FH FileHeader v2.4) and 5.6 has FH v2.7 or something
but
is it possible for a 5.6 Slave database to read from a 5.5 Master ???

  • or am I Doomed !! ?

Doing a mysqldump in PROD would take +1 day total down time of Prod MASTER
Copy the massive dump over to new Datacenter
Import dump which would take another day or two …
Then point the application to start using the new Datacenter …
This is not really acceptable to be down a couple day switching datacenteers!!

After several attement I was able to start the replication from 5.5 to 5.6
but I run into error
and I have to do too many GLOBAL skips_counters
so I have a feeling it’s not supported to read from Tokudb 5.5 on a 5.6 slave…

Last_SQL_Errno: 1032
Last_SQL_Error: Could not execute Update_rows_v1 event on table YSIUSER.ysi_batch_notices; Can’t find record in ‘ysi_batch_notices’, Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event’s master log sjcprddbv202-binlog.023152, end_log_pos 9401388

[(none)]> stop slave;
Query OK, 0 rows affected (0.00 sec)

[(none)]> set GLOBAL SQL_SLAVE_SKIP_COUNTER = 1 ;
Query OK, 0 rows affected (0.00 sec)

[(none)]> start slave;
Query OK, 0 rows affected (0.00 sec)

Last_SQL_Errno: 1032
Last_SQL_Error: Could not execute Update_rows_v1 event on table YSIUSER.ysi_batch_notices; Can’t find record in ‘ysi_batch_notices’, Error_code: 1032; handler error HA_ERR_KEY_NOT_FOUND; the event’s master log sjcprddbv202-binlog.023152, end_log_pos 9417817

All old TokuTek support is not pointing to this forum on all Google searchers
but seams to me Tokudb does not have it’s own tread and buried in this general mysql forum
or maybe Tokudb is a dead storage engine that nobody use … but me ? dhu!?

I want to upgrade MySQL to 5.6 or 5.7
but I if I can not upgrade and make the new 5.6 slave read from 5.5 then I am stuck
Even if I do a mysqldump and record binlog and possition

  • I still need to attach new 5.6 slave to old 5.5 to catch up to latest record
    before I switch over to new 5.6 version and make that my new Master …

Any idea or suggestion on how I should upgrade my MySQL 5.5 Tokudb storage engine db ?
Can only afford a 10-20 min down time when we flip master db

Anyone knows ???

Hello Mr. Y,
I am not following your procedure here entirely, but as I already responded in another thread, there is no way to migrate a MySQL 5.5 TokuDB database to a Percona Server 5.6 TokuDB database other then a logical dump and reload. While I have not personally tested this, taking a logical dump of the MySQL 5.5 TokuDB databases and importing them into a Percona Server 5.6 instance should allow you to replicate from the 5.5 to the 5.6 instance. There are some know potential problems due to the different temporal data type size formats in 5.5 and 5.6 which may force you to run only with SBR as the RBR format may be incompatible/unreadable by TokuDB.

If you need some assistance testing and implementing this, you can contact Percona for Support and Consulting services.


George O. Lorch III
Software Engineer, Percona

I also just noticed this, there is no MySQL 5.6 with TokuDB storage engine. Tokutek only provided a MySQL 5.5 + TokuDB build, never a MySQL 5.6. There is Percona Server 5.6 with TokuDB and MariaDB 10.1 with TokuDB that imports the TokuDB from Percona Server 5.6.