summaryrefslogtreecommitdiff
path: root/support-files
diff options
context:
space:
mode:
authorunknown <joerg@trift2.>2006-06-22 12:22:52 +0200
committerunknown <joerg@trift2.>2006-06-22 12:22:52 +0200
commit54b38dd6b514a4a683dfd5376be3cb70b45b9a20 (patch)
tree7877008267a2eb98b9e6b8aa1644f22352df5081 /support-files
parent993920327752b22895332c0af4b0f6032f27f972 (diff)
parent99740b3fb07780d1e6e04af4c56144ed3f363ebc (diff)
downloadmariadb-git-54b38dd6b514a4a683dfd5376be3cb70b45b9a20.tar.gz
Merge mysql.com:/M50/bug19353-5.0 into mysql.com:/M51/bug19353-5.1
storage/ndb/src/mgmapi/mgmapi.cpp: Auto merged storage/ndb/src/mgmsrv/ConfigInfo.cpp: Auto merged storage/ndb/src/mgmsrv/MgmtSrvr.cpp: Auto merged support-files/mysql.server.sh: Auto merged support-files/mysql.spec.sh: Auto merged
Diffstat (limited to 'support-files')
-rw-r--r--support-files/mysql.server.sh18
-rw-r--r--support-files/mysql.spec.sh16
2 files changed, 29 insertions, 5 deletions
diff --git a/support-files/mysql.server.sh b/support-files/mysql.server.sh
index 9e507bbe2b5..459699988ab 100644
--- a/support-files/mysql.server.sh
+++ b/support-files/mysql.server.sh
@@ -98,6 +98,11 @@ PATH=/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin
export PATH
mode=$1 # start or stop
+shift
+other_args="$*" # uncommon, but needed when called from an RPM upgrade action
+ # Expected: "--skip-networking --skip-grant-tables"
+ # They are not checked here, intentionally, as it is the resposibility
+ # of the "spec" file author to give correct arguments only.
case `echo "testing\c"`,`echo -n testing` in
*c*,-n*) echo_n= echo_c= ;;
@@ -264,6 +269,11 @@ case "$mode" in
echo $echo_n "Starting MySQL"
if test -x $manager -a "$use_mysqld_safe" = "0"
then
+ if test -n "$other_args"
+ then
+ log_failure_msg "MySQL manager does not support options '$other_args'"
+ exit 1
+ fi
# Give extra arguments to mysqld with the my.cnf file. This script may
# be overwritten at next upgrade.
"$manager" \
@@ -282,7 +292,7 @@ case "$mode" in
# Give extra arguments to mysqld with the my.cnf file. This script
# may be overwritten at next upgrade.
pid_file=$server_pid_file
- $bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file >/dev/null 2>&1 &
+ $bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file $other_args >/dev/null 2>&1 &
wait_for_pid created
# Make lock for RedHat / SuSE
@@ -330,8 +340,8 @@ case "$mode" in
'restart')
# Stop the service and regardless of whether it was
# running or not, start it again.
- $0 stop
- $0 start
+ $0 stop $other_args
+ $0 start $other_args
;;
'reload')
@@ -346,7 +356,7 @@ case "$mode" in
*)
# usage
- echo "Usage: $0 start|stop|restart|reload"
+ echo "Usage: $0 {start|stop|restart|reload} [ MySQL server options ]"
exit 1
;;
esac
diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh
index 4fb271c6c02..501403a0880 100644
--- a/support-files/mysql.spec.sh
+++ b/support-files/mysql.spec.sh
@@ -466,7 +466,16 @@ chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir
%{_bindir}/mysql_install_db --rpm --user=%{mysqld_user}
# Upgrade databases if needed
-%{_bindir}/mysql_upgrade --user=%{mysqld_user}
+# This must be done as database user "root", who should be password-protected,
+# but this password is not available here.
+# So ensure the server is isolated as much as possible, and start it so that
+# passwords are not checked.
+# See the related change in the start script "/etc/init.d/mysql".
+chmod 700 $mysql_datadir
+%{_sysconfdir}/init.d/mysql start --skip-networking --skip-grant-tables
+%{_bindir}/mysql_upgrade
+%{_sysconfdir}/init.d/mysql stop --skip-networking --skip-grant-tables
+chmod 755 $mysql_datadir
# Change permissions again to fix any new files.
chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir
@@ -679,6 +688,11 @@ fi
# itself - note that they must be ordered by date (important when
# merging BK trees)
%changelog
+* Tue Jun 20 2006 Joerg Bruehe <joerg@mysql.com>
+
+- To run "mysql_upgrade", we need a running server;
+ start it in isolation and skip password checks.
+
* Sat May 20 2006 Kent Boortz <kent@mysql.com>
- Always compile for PIC, position independent code.