68 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
| # ==== Purpose ====
 | |
| #
 | |
| # Set up circular cluster replication where each 
 | |
| # cluster has two mysqlds and replication directions are 
 | |
| # following:
 | |
| #          master ---> slave  
 | |
| #           /            \
 | |
| #     cluster A        cluster B
 | |
| #           \            /
 | |
| #         master1 <--- slave1
 | |
| #
 | |
| # ==== Usage ====
 | |
| #
 | |
| #   [--let $rpl_server_count= N]
 | |
| #   [--let $rpl_skip_check_server_ids= 1]
 | |
| #   [--let $rpl_skip_reset_master_and_slave= 1]
 | |
| #   [--let $rpl_skip_change_master= 1]
 | |
| #   [--let $rpl_skip_start_slave= 1]
 | |
| #   [--let $rpl_debug= 1]
 | |
| #   [--let $slave_timeout= NUMBER]
 | |
| #   --source include/ndb_master-slave_2ch.inc
 | |
| #
 | |
| # Parameters:
 | |
| #   $rpl_server_count, $rpl_skip_check_server_ids,
 | |
| #   $rpl_skip_reset_master_and_slave, $rpl_skip_change_master,
 | |
| #   $rpl_skip_start_slave, $rpl_debug, $slave_timeout
 | |
| #     See include/master-slave.inc
 | |
| 
 | |
| --let $rpl_topology= 1->2,4->3
 | |
| --let $rpl_skip_check_server_ids= 1
 | |
| --source include/rpl_init.inc
 | |
| 
 | |
| # Make connections to mysqlds
 | |
| 
 | |
| --let $rpl_connection_name= master
 | |
| --let $rpl_server_number= 1
 | |
| --source include/rpl_connect.inc
 | |
| 
 | |
| --let $rpl_connection_name= master1
 | |
| --let $rpl_server_number= 1
 | |
| --source include/rpl_connect.inc
 | |
| 
 | |
| --let $rpl_connection_name= slave
 | |
| --let $rpl_server_number= 2
 | |
| --source include/rpl_connect.inc
 | |
| 
 | |
| --let $rpl_connection_name= slave1
 | |
| --let $rpl_server_number= 2
 | |
| --source include/rpl_connect.inc
 | |
| 
 | |
| 
 | |
| # Check that all mysqld are compiled with ndb support
 | |
| --let $_rpl_server= 4
 | |
| while ($_rpl_server)
 | |
| {
 | |
|   --connection server_$_rpl_server
 | |
|   if (`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.ENGINES WHERE engine = 'ndbcluster' AND (support = 'YES' OR support = 'DEFAULT')`)
 | |
|   {
 | |
|     --skip Test requires NDB.
 | |
|   }
 | |
|   --source include/ndb_not_readonly.inc
 | |
|   --dec $_rpl_server
 | |
| }
 | |
| 
 | |
| 
 | |
| # Set the default connection to 'master' (cluster A)
 | |
| connection master;
 |