Description:
TL;DR Introduce alternatives to the terms "master" and "slave" in SQL and command line flags, as step 1 in removing this language.
Longer:
MySQL uses the language of MASTER-SLAVE for replication. Eg:
https://dev.mysql.com/doc/refman/8.0/en/replication.html
https://dev.mysql.com/doc/refman/5.7/en/replication-setup-slaves.html
Using the terminology of Master and Slave is oppressive, especially when good alternatives exist. A number of organizations, including the IETF are stopping using this terminology.
For a much better written note on this issue than I could write see: https://tools.ietf.org/id/draft-knodel-terminology-00.html#master-slave
Alternatives:
Primary-secondary
Leader-follower
Active-standby
Primary-replica
Writer-reader
Coordinator-worker
Parent-helper
It will be hard for MySQL to completely replace this language now, as many existing database scripts will use this language for set-up.
However, step 1 is to allow an alternative in all SQL and command-line flags.
This would allow all organizations which which wish to avoid oppressive language to use the alternatives in their codebases. It also gives a clear migration path.
How to repeat:
Look at the MySQL documentation
Suggested fix:
Steps:
1) Introduce alternatives, I'd suggest "leader", "follower" into SQL grammar and command-line flags which currently only only allow MASTER and SLAVE
2) Change all documentation to use the new SQL grammar and flags
3) Mark old usages as deprecated, and emit a warning if they are used.
4) Remove old usages.
Each step has value in its own right, even if the later steps aren't done.
Step 1 allows users which don't want to use this language to choose not to do so.
Step 2 sets an example from Oracle / MySQL
Step 3 gives enhanced safety for step 4, and also causes a discussion about this issue
Step 4 is a strong statement about languge