mysql-test/suite/router/t/bootstrap_mrs_standalone.inc (54 lines of code) (raw):

--source include/have_router_bootstrap.inc --source ../include/mrs/initialize_schema.inc #create a b/s user with minimal required set of priviledges CREATE USER mrs_bootstrap_user IDENTIFIED BY 'pass'; GRANT SELECT, INSERT, UPDATE on mysql_rest_service_metadata.* to mrs_bootstrap_user; GRANT mysql_rest_service_data_provider TO mrs_bootstrap_user WITH ADMIN OPTION; GRANT CREATE USER ON *.* TO mrs_bootstrap_user WITH GRANT OPTION; GRANT mysql_rest_service_meta_provider TO mrs_bootstrap_user WITH ADMIN OPTION; FLUSH PRIVILEGES; replace_regex / Bootstrapping MySQL Router.* instance at '.*'.*/ Bootstrapping MySQL Router instance at 'DIRECTORY'/ /Creating configuration .*mysqlrouter.conf/Creating configuration ...\/mysqlrouter.conf/ /.*mysqlrouter.* -c .*mysqlrouter.conf/$ mysqlrouter -c ...\/mysqlrouter.conf/ /Adjusting configuration file .*mysqlrouter.conf/Adjusting configuration file ...\/mysqlrouter.conf/ /- Adjusting permissions of generated files\n// ; exec $MYSQLROUTER_BOOTSTRAP $bootstrap_name_cmd --conf-set-option=DEFAULT.plugin_folder=$ROUTER_PLUGIN_DIRECTORY -B mrs_bootstrap_user:pass@127.0.0.1:$MASTER_MYPORT --directory $MYSQL_TMP_DIR/bootstrap_folder/ --mrs --mrs-global-secret something_important ; replace_regex /=.*\/bootstrap_folder\/.*/=TEMP_DIR_FILE_OR_FOLDER/ /mysql_user=mysql_router_mrs1_.*/mysql_user=mysql_router_mrs1_RANDOM/ /user=mysql_router1_.*/user=mysql_router1_RANDOM/ /plugin_folder=.*/plugin_folder=ROUTER_PLUGIN_DIRECTORY/ /destinations=.*/destinations=ADDR:PORT/ ; # Check the contents of the configuration file created --cat_file $MYSQL_TMP_DIR/bootstrap_folder/mysqlrouter.conf # Check the metadata registered during the bootstrap if ($bootstrap_name_cmd) { select id, router_name, product_name, options from mysql_rest_service_metadata.router; } if (!$bootstrap_name_cmd) { select id, product_name, options from mysql_rest_service_metadata.router; --replace_regex /^.+:\d+$/"Name found"/ select router_name from mysql_rest_service_metadata.router; } --replace_regex /"mysql_router_mrs1_.*"/"mysql_router_mrs1_RANDOM"/ select attributes from mysql_rest_service_metadata.router; # Cleanup if (!$KEEP_ROUTER_FILES) { --disable_query_log --disable_result_log --let $u1=`SELECT user from mysql.user WHERE user like "mysql_router_mrs1_%";` eval DROP USER $u1@'%'; --enable_query_log --enable_result_log DROP USER 'mrs_bootstrap_user'@'%'; --force-rmdir $MYSQL_TMP_DIR/bootstrap_folder } if ($KEEP_ROUTER_FILES == 1) { --echo DROP USER 'mrs_bootstrap_user'@'%'; } --let $cleanup_arg_mrs_skip_service_disable=1 --source ../include/mrs/cleanup.inc