Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for replication across multiple versions #28

Closed
PrzemekMalkowski opened this issue Aug 3, 2018 · 3 comments

Comments

@PrzemekMalkowski
Copy link

commented Aug 3, 2018

I would absolutely love to see the functionality like:
dbdeployer deploy replication --master-ver=5.6.35 --slave-versions="5.6.40,5.7.22"

@datacharmer

This comment has been minimized.

Copy link
Owner

commented Aug 3, 2018

It should be doable. It only requires some time to avoid breaking other functionalities.

Specifically, this feature must work together with :

  • the main definition of a version (dbdeployer deploy replication 5.6.41). This could be fixed by using the main version (5.6.41 in the previous example) as the master version.
  • the emergency definition of the working version (dbdeployer deploy --binary-version=xxx ...).

Another issue could be different topologies that don't use slaves, such as group replication or multi-source. I don't even know if GR would work with servers of different versions.

Furthermore, this feature may also require that we change the way we initialize slaves, as some versions use options that are not available in previous ones. For example, initialization commands for 8.0.x slaves will fail for 5.7.x slaves. A possible workaround would be to only allow this feature where the slaves versions are higher than the master.

Anyway, I have several issues to tackle before this one. I am open to suggestions (and to pull requests!)

@datacharmer

This comment has been minimized.

Copy link
Owner

commented Mar 29, 2019

dbdeployer version 1.26.0 implements replication between sandboxes. See Replication between sandboxes.
Using this feature, you can deploy sandboxes from various versions, and start replication between them.

@datacharmer

This comment has been minimized.

Copy link
Owner

commented Mar 31, 2019

In dbdeployer 1.27.0 there is a cookbook example of cross-version replication.

Run the following:

dbdeployer cookbook list
[...]

dbdeployer cookbook create replication_multi_versions

Then look at recipes/replication-multi-versions.sh and eventually run the example by providing three versions on the command line.

@datacharmer datacharmer closed this Apr 1, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can’t perform that action at this time.