From 5d74b0e76563041de6daf55daf308f11bdce9b3f Mon Sep 17 00:00:00 2001 From: Carlos Salguero Date: Thu, 12 Apr 2018 10:21:25 -0300 Subject: [PATCH] PT-1530 WIP Added encryption plugins to sandbox start In order to be able to test encryption support in Percona Server and MySQL, we need to enable encription plugins in the sandbox. This commit adds detection of plugin libraries in the MySQL binaries directory and enables it automatically. --- sandbox/servers/start | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/sandbox/servers/start b/sandbox/servers/start index 5beeb1f3..703fc18b 100755 --- a/sandbox/servers/start +++ b/sandbox/servers/start @@ -51,32 +51,30 @@ echo -n "Starting MySQL test server on port PORT... " cwd=$PWD cd $BASEDIR -plugins="" -pluginsparam="" -plugindirparam="" +encryption_plugins="" +plugins_dir_cmd="" + +plugins_cmd="" +keyring_cmd="" -echo "basedir $BASEDIR" if [ -e "${BASEDIR}/lib/mysql/plugin/keyring_file.so" ]; then - plugins="${BASEDIR}/lib/mysql/plugin/keyring_file.so" - plugindirparam="--plugin-dir=${BASEDIR}/lib/mysql/plugin/" + encryption_plugins="${BASEDIR}/lib/mysql/plugin/keyring_file.so" fi -if [ ! -z "$plugins" ]; then - pluginsparam="--early-plugin-load" +if [ ! -z "$encryption_plugins" ]; then + plugins_cmd="--early-plugin-load=${encryption_plugins}" + keyring_cmd="--keyring_file_data=/tmp/PORT/data/keyring" + plugins_dir_cmd="--plugin-dir=${BASEDIR}/lib/mysql/plugin/" fi -echo "plugins: $plugins" -echo "pluginsparam: $pluginsparam" - init_file="/tmp/12345/mysql-init" if [ -e $init_file ]; then - $BASEDIR/bin/mysqld --defaults-file=/tmp/12345/my.sandbox.cnf -u root --init-file $init_file $pluginsparam & + $BASEDIR/bin/mysqld --defaults-file=/tmp/12345/my.sandbox.cnf -u root --init-file $init_file $plugins_cmd $plugins_dir_cmd $keyring_cmd & else - $BASEDIR/bin/mysqld --defaults-file=/tmp/12345/my.sandbox.cnf $pluginsparam $plugins $plugindirparam > /dev/null 2>&1 & + $BASEDIR/bin/mysqld --defaults-file=/tmp/12345/my.sandbox.cnf --keyring_file_data=/tmp/12345/data/keyring $plugins_cmd $plugins_dir_cmd $keyring_cmd > /dev/null 2>&1 & fi cd $PWD - # Wait for MySQL to actually be up, i.e. to respond to queries. for i in $(_seq 60); do if sandbox_is_alive; then