Files
MaxScale/server/modules/routing/binlog
Johan Wikman 1d4779215d Ensure symbols are resolved at link-time.
With the linker flags "-Wl,-z,defs", all symbols used by a library
are resolved at link-time. Otherwise they will be resolved at runtime.
The use of these flags ensures that missing symbols are found as
early as possible.

Case in point, the binlog router test-cases failed, because the loading
of the binlog router failed due to missing symbols my_uuid_init and
my_uuid. The reason was that when maxscale no longer was linked with
the embedded library, those symbols were not available.

Now we know that the loading of the binlog router will not fail due
to missing symbols.
2016-03-01 21:29:13 +02:00
..
2016-02-08 11:44:07 +02:00
2016-03-01 21:23:43 +02:00
2015-11-26 17:34:53 +02:00
2014-05-13 16:06:05 +01:00
2014-05-28 23:38:54 +01:00

The binlog router is not a "normal" MaxScale router, it is not
designed to be used to route client requests to a database in the
usual proxy fashion. Rather it is designed to allow MaxScale to be
used as a relay server in a MySQL replication environment.

In this environment MaxScale sits between a master MySQL server and
a set of slave servers. The slaves servers execute a change master
to the MaxScale server, otehrwise they are configured in exactly
the same way as a normal MySQL slave server.

The master server configuration is unaltered, it simply sees a
single slave server.

MaxScale is configured as usual, with a service definition that
references the binlog router. The major configuration option to
consider is the router_options paramter, in the binlog router this
provides the binlog specific configuration parameters.

	uuid=
		This is the UUID that MaxScale uses when it connects
		to the real master. It will report the master's
		UUID to slaves that connect to it.

	server-id=
		The server-id that MaxScale uses when it connects
		to the real master server. Again it will reports
		the master's server-id to the slaves that connect
		to it.
	user=
		The user that MaxScale uses to login to the real
		master
	password=
		The password that MaxScale uses to login to the
		real master
	master-id=
		The server-id of the real master. MaxScale should
		get this by sending a query, but at the moment it
		is in the configuration file for ease of implementation


An example binlog service configuration is shown below:

[Binlog Service]
type=service
router=binlogrouter
servers=master
router_options=uuid=f12fcb7f-b97b-11e3-bc5e-0401152c4c22,server-id=3,user=repl,password=slavepass,master-id=1
user=maxscale
passwd=Mhu87p2D

The servers list for a binlog router service should contain just
the master server. In future a list will be given and the monitor
used to determine which server is the current master server.