WL#14194: Replace old terms in replication system variables, options, and strings

Affects: Server-8.0   —   Status: Complete

EXECUTIVE SUMMARY
=================

Replace the terms "master", "slave", and "mts" by "source", "replica",
and "mta" in system variable names, status variables, SQL functions,
command-line options (for server and all tools), semisync plugin names
and file names, C++ filenames and header guards, debug symbols, help
texts, and in performance_schema instrumentation names for locks,
condition variables, threads, execution stages, allocators, and thread
commands.  Create aliases so that users can use the old names for
system variables, SQL functions, and command-line options, and
deprecate the use of those aliases.

USER STORIES
============

U1. As a MySQL admin user:
    - I want to use configuration that does not contain offensive
      terms,
    - so that I do not get offended by them and/or expose them to
      other people (e.g., customers of my application built on top of
      MySQL).

U2. As a MySQL admin user:
    - I want to monitor the product without seeing offensive terms,
    - so that I do not get offended by them and/or expose them to
      other people (e.g., customers of my application built on top of
      MySQL).

SCOPE
=====

This worklog is part of a broader effort to change old terminology
across the entire MySQL product line.

This worklog focuses only on changing *replication* terminology.  For
the word "master", we only change it where it appears in a replication
context; we do not change "master key" or "master thread".

We only change status variables, SQL functions, command-line options,
semisync plugin names and filenames, C++ filenames and header guards,
debug symbols, help texts, and performance_schema instrumentation
names.  (So we do not change privilege names, column names or other
metadata for system tables, error messages, ER_* symbols, or SQL
commands.)

LIMITATIONS
===========

We do not change identifiers related to NDB.

We do not change SQL printed by mysqldump or issued by mysqladmin,
MEB, or other external tools except mysqlbinlog.  The identifiers we
change, are not changed when they appear in error messages.

REFERENCES
==========

- https://mysqlhighavailability.com/mysql-terminology-updates/