WL#12715: Support multiple addresses for the --mysqlx-bind-address command option

Affects: Server-8.0   —   Status: Complete

Motivation

  1. Network configuration of a server that run MySQL Server, may consist of multiple network interfaces which may serve different propose, for example

    Host:

    • eth0 - intra-site network (business network)
    • eth1 - inter-site network (business network)
    • eth2 - public network

    While the DBA may configure MySQL Server to listen on one of those interfaces or on all, still if He doesn't have a possibility of listening only on "business network" (two interfaces), where listening on public interface might be unwanted or even be a security issue.

  2. MySQL Server introduced binding to multiple addresses under WL#11652. X Plugin should be aligned to those changes.

    The MySQL server can be configured to listen to one (and only one) IPv4 and one (and only one) IPv6 interface, or all interfaces that are configured on a server. See https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_bind- address

    If at OS level, the server has multiple networks addresses, there is a need to configure the MySQL server to listen to a set of addresses, to also be able to restrict an address the server should not listen to.

Goal

Currently X Plugin accepts single bind address in configuration variable: Mysqlx_bind_address. The default value (which is *) makes X Plugin to listen on all IPv6 and IPv4 interfaces. This worklog must give:

  • Allow user to configure X Plugin bind address with multiple IP address (interfaces) where he can skip unwanted interfaces of his host machine.

  • X Plugin must be in align with MySQL server, thus it must implement feature same as WL#11652.