13 messages in com.mysql.lists.clusterRe: How to setup cluster replication
FromSent OnAttachments
Nick Cen04 May 2008 21:54 
ewen fortune04 May 2008 23:27 
Nick Cen04 May 2008 23:30 
Nick Cen05 May 2008 00:33 
ewen fortune05 May 2008 02:27 
Nick Cen05 May 2008 03:55 
ewen fortune05 May 2008 04:12 
Nick Cen05 May 2008 19:22 
Nick Cen05 May 2008 19:27 
ewen fortune06 May 2008 01:06 
Nick Cen06 May 2008 01:26 
ewen fortune06 May 2008 01:35 
ewen fortune06 May 2008 09:33 
Subject:Re: How to setup cluster replication
From:ewen fortune (ewen@gmail.com)
Date:05/05/2008 02:27:18 AM
List:com.mysql.lists.cluster

Are you replicating to another NDB cluster? If not, switch the ENGINE to MyISAM on the slave create ndb_apply_status table.

Ewen

On Mon, May 5, 2008 at 9:34 AM, Nick Cen <ceny@gmail.com> wrote:

I try to create the mysql.ndb_apply_status by myself, but it give the following error.

mysql> CREATE TABLE `ndb_apply_status` ( -> `server_id` int(10) unsigned NOT NULL, -> `epoch` bigint(20) unsigned NOT NULL, -> `log_name` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL, -> `start_pos` bigint(20) unsigned NOT NULL, -> `end_pos` bigint(20) unsigned NOT NULL, -> PRIMARY KEY (`server_id`) USING HASH -> ) ENGINE=ndbcluster DEFAULT CHARSET=latin1 -> ; ERROR 1498 (HY000): For the partitioned engine it is necessary to define all partitions

2008/5/5 ewen fortune <ewen@gmail.com>:

Hi, Sounds like the ndb_schema tables havn't been created. These are needed for ndb replication.

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

""" These tables are created during the MySQL installation process by the mysql_install_db script, and include a table for storing the binary log's indexing data. """

Ewen

On Mon, May 5, 2008 at 6:54 AM, Nick Cen <ceny@gmail.com> wrote:

Hi All,

I wanna to build up a whole new cluster replication, i have 3 machines M1, M2 and S2. M1 & M2 makeup the cluster. M2 and S2 makeup a replication channel. I am using the tar ball mysql-5.1.23-ndb-6.2.14-telco.tar. And follow the instructions in this page

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

, the initial table is create with the mysql_install_db script.

The cluster is run without problem and here is the my.cnf in M2 and S2.

M2's my.cnf [client] default-character-set=utf8 [mysqld_safe] default-character-set=utf8 # Options for mysqld process: [mysqld] ndbcluster # run NDB storage engine ndb-connectstring=192.168.145.131 # location of management server default-character-set=utf8 default-storage-engine=ndbcluster # Replication log-bin=mysql-bin binlog-format=ROW server-id=2 # Options for ndbd process: [mysql_cluster] ndb-connectstring=192.168.145.131 # location of management server

S2's my.cnf [client] default-character-set=utf8 [mysqld_safe] default-character-set=utf8 # Options for mysqld process: [mysqld] ndbcluster default-character-set=utf8 default-storage-engine=MyISAM server-id=3

The bin-log file info is accquire with the following sql statement mysql> flush tables with read lock; Query OK, 0 rows affected (0.02 sec) mysql> show master status; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000001 | 233 | | | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec)

The cluster(M1,M2) and S2 can start without problem.

When i create a table in M2, a replicate table is create in S2. but when i insert a record in to M2's table nothing happen in S2. And here is the mysqld log of S2. 080505 7:38:01 [Note] Slave I/O thread: connected to master ' repl@192.168.145.132:3306',replication started in log 'mysql-bin.000001' at position 233 080505 7:39:00 [ERROR] Slave SQL: Error 'Table 'mysql.ndb_apply_status' doesn't exist' on opening table `mysql`.`ndb_apply_status`, Error_code: 1146 080505 7:39:00 [Warning] Slave: Table 'mysql.ndb_apply_status' doesn't exist Error_code: 1146 080505 7:39:00 [Warning] Slave: Got error 4009 'Cluster Failure' from NDB Error_code: 1296 080505 7:39:00 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'mysql-bin.000001' position 322

Any idea, thanks in advance.

Nick