mysql document store, mysqlsh, and defaults.
Clone this wiki locally
MySQL Document store, mysqlsh, and defaults.
MySQL 5.7.12+ introduces the XPlugin (a.k.a. mysqlx) which enables operations using a separate port (33060 by default) on special tables that can be treated as NoSQL collections.
In MySQL 8.0.11+ the XPlugin is enabled by default, giving dbdeployer the task of defining an additional port and socket for this service. When you deploy MySQL 8.0.11 or later, dbdeployer sets the
mysqlx-port to the value of the regular port +
mysqlx-delta-port (= 10000).
If you want to avoid having the XPlugin enabled, you can deploy the sandbox with the option
For MySQL between 5.7.12 and 8.0.4, the approach is the opposite. By default, the XPlugin is disabled, and if you want to use it you will run the deployment using
--enable-mysqlx. In both cases the port and socket will be computed by dbdeployer.
When the XPlugin is enabled, it makes sense to use the MySQL shell and dbdeployer will create a
mysqlsh script for the sandboxes that use the plugin. Unfortunately, as of today (late April 2018) the MySQL shell is not released with the server tarball, and therefore we have to fix things manually (see next section.) dbdeployer will look for
mysqlsh in the same directory where the other clients are, so if you manually merge the mysql shell and the server tarballs, you will get the appropriate version of MySQL shell. If not, you will use the version of the shell that is available in
$PATH. If there is no MySQL shell available, you will get an error.