diff options
Diffstat (limited to 'mysql-test')
-rw-r--r-- | mysql-test/install_test_db.sh | 14 | ||||
-rwxr-xr-x | mysql-test/mysql-test-run.pl | 11 | ||||
-rw-r--r-- | mysql-test/mysql_test_run_new.c | 8 |
3 files changed, 27 insertions, 6 deletions
diff --git a/mysql-test/install_test_db.sh b/mysql-test/install_test_db.sh index 85094ec52fc..75388769808 100644 --- a/mysql-test/install_test_db.sh +++ b/mysql-test/install_test_db.sh @@ -67,14 +67,17 @@ fi mdata=$data/mysql EXTRA_ARG="" -if test ! -x $execdir/mysqld +mysqld= +if test -x $execdir/mysqld then + mysqld=$execdir/mysqld +else if test ! -x $libexecdir/mysqld then echo "mysqld is missing - looked in $execdir and in $libexecdir" exit 1 else - execdir=$libexecdir + mysqld=$libexecdir/mysqld fi fi @@ -100,8 +103,11 @@ basedir=. EXTRA_ARG="--language=../sql/share/english/ --character-sets-dir=../sql/share/charsets/" fi -mysqld_boot=" $execdir/mysqld --no-defaults --bootstrap --skip-grant-tables \ - --basedir=$basedir --datadir=$ldata --skip-innodb --skip-ndbcluster --skip-bdb \ +mysqld_boot="${MYSQLD_BOOTSTRAP-$mysqld}" + +mysqld_boot="$mysqld_boot --no-defaults --bootstrap --skip-grant-tables \ + --basedir=$basedir --datadir=$ldata \ + --skip-innodb --skip-ndbcluster --skip-bdb \ $EXTRA_ARG" echo "running $mysqld_boot" diff --git a/mysql-test/mysql-test-run.pl b/mysql-test/mysql-test-run.pl index 36f5b0a776f..b56b385a2bf 100755 --- a/mysql-test/mysql-test-run.pl +++ b/mysql-test/mysql-test-run.pl @@ -2873,12 +2873,19 @@ sub install_db ($$) { mtr_add_arg($args, "--character-sets-dir=%s", $path_charsetsdir); } + # If DISABLE_GRANT_OPTIONS is defined when the server is compiled (e.g., + # configure --disable-grant-options), mysqld will not recognize the + # --bootstrap or --skip-grant-tables options. The user can set + # MYSQLD_BOOTSTRAP to the full path to a mysqld which does accept + # --bootstrap, to accommodate this. + my $exe_mysqld_bootstrap = $ENV{'MYSQLD_BOOTSTRAP'} || $exe_mysqld; + # Log bootstrap command my $path_bootstrap_log= "$opt_vardir/log/bootstrap.log"; mtr_tofile($path_bootstrap_log, - "$exe_mysqld " . join(" ", @$args) . "\n"); + "$exe_mysqld_bootstrap " . join(" ", @$args) . "\n"); - if ( mtr_run($exe_mysqld, $args, $init_db_sql_tmp, + if ( mtr_run($exe_mysqld_bootstrap, $args, $init_db_sql_tmp, $path_bootstrap_log, $path_bootstrap_log, "", { append_log_file => 1 }) != 0 ) diff --git a/mysql-test/mysql_test_run_new.c b/mysql-test/mysql_test_run_new.c index 79db71fa274..f9c0045472d 100644 --- a/mysql-test/mysql_test_run_new.c +++ b/mysql-test/mysql_test_run_new.c @@ -292,6 +292,14 @@ void install_db(char *datadir) die("Unable to create init_db.sql."); /* args */ init_args(&al); + /* + XXX: If mysqld is compiled with DISABLE_GRANT_OPTIONS defined, it + will not recognize the --bootstrap, --init-file or --skip-grant- + tables options. If this is needed here, please check + MYSQLD_BOOTSTRAP in the environment, and use its value instead of + mysqld_file if it is set. See mysql-test-run.pl and + mysql_install_db. + */ add_arg(&al, mysqld_file); add_arg(&al, "--no-defaults"); add_arg(&al, "--bootstrap"); |