2 messages in com.mysql.lists.clusterRe: Some confusions about MySQL Clust...
FromSent OnAttachments
Sebastien LELIEVRE07 Aug 2007 01:53 
Jon Stephens07 Aug 2007 10:41 
Subject:Re: Some confusions about MySQL Cluster Replication
From:Jon Stephens (jo@mysql.com)
Date:08/07/2007 10:41:06 AM
List:com.mysql.lists.cluster

Sebastien LELIEVRE wrote:

Hi everyone,

I am trying to set up Replication mechanism for our MySQL Cluster configuration and I am having some troubles understanding the MySQL doc. Here it goes :

http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-replication-backups.html

On this doc, distinction between 'slave mysqld' (a.k.a. the API Node concerned by Replication as slave one) and 'slave cluster' is not really clear.

Cluster replication typically involves a master cluster (source of the data/updates) and a slave cluster (where the data/updates are being copied to).

slave mysqld = MySQL process connected to the slave cluster (or the slave MySQL server if you're replicating from a cluster to a single MySQL).

More, some statements are pretty confusing, as in point 3 :

Important: A CREATE SCHEMA statement corresponding to each database to be replicated must be executed on each data node in the slave cluster.

I think there is a misunderstanding between API Nodes (mysqld --with-ndbcluster) and Data Nodes (ndbd), or maybe I am wrong ? Can anyone give me a light on this ?

You're right - this is an error, which I've fixed (should be "executed on each SQL node in the slave cluster"). Thanks for pointing this out!

More, MySQL Cluster Replication over a 'standard' MySQL environnement seems to be possible regards to MySQL HA White Paper. Though, I did not find any clue about this in the MySQL Cluster Replication documentation. Is it possible and how does the ENGINE switch occur ?

Am I missing something ?

I've not read the white paper. However, you can replicate from a MySQL Cluster to a single MySQL server or from a single MySQL server to a MySQL Cluster. Suppose, in the former case, you want all the CLuster tables to replicated as MyISAM tables: simply use a MySQL Server that has no NDB support enabled, and all tables created using CREATE TABLE ... ENGINE=NDB on the master will replicated as the the slave server's default storage engine (normally MyISAM, but this can be overriden by starting mysqld with the --default-storage-engine option). In the reverse scenario (single server master -> cluster slave), AFAIK, you'd have to create each table on the slave cluster using ENGINE=NDB prior to starting replication.

See http://dev.mysql.com/doc/refman/5.1/en/replication-solutions-diffengines.html for more information.

cheers

jon.

Regards,