diff options
-rwxr-xr-x | Build-tools/Do-compile | 2 | ||||
-rw-r--r-- | Docs/manual.texi | 4 | ||||
-rw-r--r-- | client/mysqladmin.c | 1 | ||||
-rw-r--r-- | scripts/make_binary_distribution.sh | 4 | ||||
-rw-r--r-- | sql/mysqld.cc | 3 | ||||
-rw-r--r-- | support-files/mysql.server.sh | 28 |
6 files changed, 31 insertions, 11 deletions
diff --git a/Build-tools/Do-compile b/Build-tools/Do-compile index 04e905cb834..a4156f6ac98 100755 --- a/Build-tools/Do-compile +++ b/Build-tools/Do-compile @@ -123,7 +123,7 @@ if ($opt_stage == 0 && ! $opt_use_old_distribution) system("touch timestamp"); sleep(2); system("touch timestamp2"); - system("find . -newer timestamp -print | xargs touch; rm -f timestamp"); + system("find . -newer timestamp -print | xargs touch; rm -f timestamp timestamp2"); sleep(2); # Ensure that files we don't want to rebuild are newer than other files safe_cd($ver); diff --git a/Docs/manual.texi b/Docs/manual.texi index 5075737240d..4ac8e8a22df 100644 --- a/Docs/manual.texi +++ b/Docs/manual.texi @@ -50318,6 +50318,10 @@ each individual 4.0.x release. @itemize @bullet @item +Fixed problem with @code{configure ... --localstatedir=...}. +@item +Cleaned up @code{mysql.server} script. +@item Fixed a bug in @code{mysqladmin shutdown} when pid file was modified while @code{mysqladmin} was still waiting for the previous one to disappear. This could happen during a very quick restart and caused diff --git a/client/mysqladmin.c b/client/mysqladmin.c index 64b029bc406..4da995fa224 100644 --- a/client/mysqladmin.c +++ b/client/mysqladmin.c @@ -22,6 +22,7 @@ #ifdef THREAD #include <my_pthread.h> /* because of signal() */ #endif +#include <sys/stat.h> #define ADMIN_VERSION "8.37" #define MAX_MYSQL_VAR 128 diff --git a/scripts/make_binary_distribution.sh b/scripts/make_binary_distribution.sh index 6e66a0b977c..2617a7971dc 100644 --- a/scripts/make_binary_distribution.sh +++ b/scripts/make_binary_distribution.sh @@ -120,7 +120,7 @@ $CP scripts/* $BASE/bin rm -f $BASE/bin/Makefile* $BASE/bin/*.in $BASE/bin/*.sh $BASE/bin/mysql_install_db $BASE/bin/make_binary_distribution $BASE/bin/setsomevars $BASE/support-files/Makefile* $BASE/support-files/*.sh $BASE/bin/replace \@localstatedir\@ ./data \@bindir\@ ./bin \@scriptdir\@ ./bin \@libexecdir\@ ./bin \@sbindir\@ ./bin \@prefix\@ . \@HOSTNAME\@ @HOSTNAME@ < $SOURCE/scripts/mysql_install_db.sh > $BASE/scripts/mysql_install_db -$BASE/bin/replace \@prefix\@ /usr/local/mysql \@bindir\@ ./bin \@MYSQLD_USER\@ root \@localstatedir\@ /usr/local/mysql/data < $SOURCE/support-files/mysql.server.sh > $BASE/support-files/mysql.server +$BASE/bin/replace \@prefix\@ /usr/local/mysql \@bindir\@ ./bin \@MYSQLD_USER\@ root \@localstatedir\@ /usr/local/mysql/data \@HOSTNAME\@ @HOSTNAME@ < $SOURCE/support-files/mysql.server.sh > $BASE/support-files/mysql.server $BASE/bin/replace /my/gnu/bin/hostname /bin/hostname -- $BASE/bin/mysqld_safe # Make safe_mysqld a symlink to mysqld_safe for backwards portability @@ -128,7 +128,7 @@ $BASE/bin/replace /my/gnu/bin/hostname /bin/hostname -- $BASE/bin/mysqld_safe (cd $BASE/bin ; ln -s mysqld_safe safe_mysqld ) mv $BASE/support-files/binary-configure $BASE/configure -chmod a+x $BASE/bin/* $BASE/scripts/* $BASE/support-files/mysql-* $BASE/configure +chmod a+x $BASE/bin/* $BASE/scripts/* $BASE/support-files/mysql-* $BASE/support-files/mysql.server $BASE/configure $CP -r sql-bench/* $BASE/sql-bench rm -f $BASE/sql-bench/*.sh $BASE/sql-bench/Makefile* $BASE/lib/*.la diff --git a/sql/mysqld.cc b/sql/mysqld.cc index b0c50830e2f..aa6eeb33499 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -2036,6 +2036,7 @@ int main(int argc, char **argv) start_signal_handler(); // Creates pidfile if (acl_init(opt_noacl)) { + abort_loop=1; select_thread_in_use=0; (void) pthread_kill(signal_thread,MYSQL_KILL_SIGNAL); #ifndef __WIN__ @@ -3893,7 +3894,7 @@ static void set_options(void) sys_charset.value= (char*) MYSQL_CHARSET; (void) strmake(language, LANGUAGE, sizeof(language)-1); (void) strmake(mysql_real_data_home, get_relative_path(DATADIR), - sizeof(mysql_real_data_home-1)); + sizeof(mysql_real_data_home)-1); /* Set default values for some variables */ global_system_variables.table_type=DB_TYPE_MYISAM; diff --git a/support-files/mysql.server.sh b/support-files/mysql.server.sh index 48bf004d758..7493fd29856 100644 --- a/support-files/mysql.server.sh +++ b/support-files/mysql.server.sh @@ -24,17 +24,27 @@ # Description: MySQL is a very fast and reliable SQL database engine. ### END INIT INFO - -# The following variables are only set for letting mysql.server find things. +# If you install MySQL on some other places than @prefix@, then you +# have to do one of the following thing for this script to work: +# +# - Run this script from the MySQL installation directory +# - Create a /etc/my.cnf file with the following information: +# [mysqld] +# basedir=path-to-mysql-installation-directory +# - Add the above to any other configuration file (for example ~/.my.ini) +# and copy my_print_defaults to /usr/bin +# - Add the path to the mysql-installation-directory to the basedir variable +# below. +# # If you want to affect other MySQL variables, you should make your changes -# in the /etc/my.cnf or other configuration files. +# in the /etc/my.cnf, ~/.my.cnf or other MySQL configuration files. -PATH=/sbin:/usr/sbin:/bin:/usr/bin -export PATH +basedir= + +# The following variables are only set for letting mysql.server find things. # Set some defaults datadir=@localstatedir@ -basedir= pid_file= if test -z "$basedir" then @@ -43,6 +53,10 @@ then else bindir="$basedir/bin" fi + +PATH=/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin +export PATH + if test -z "$pid_file" then pid_file=$datadir/`@HOSTNAME@`.pid @@ -123,7 +137,7 @@ case "$mode" in touch /var/lock/subsys/mysql fi else - echo "Can't execute $bindir/mysqld_safe" + echo "Can't execute $bindir/mysqld_safe from dir $basedir" fi ;; |