summaryrefslogtreecommitdiff
path: root/support-files
diff options
context:
space:
mode:
Diffstat (limited to 'support-files')
-rw-r--r--support-files/MacOSX/Makefile.am2
-rwxr-xr-xsupport-files/MacOSX/MySQLCOM (renamed from support-files/MacOSX/MySQL)2
-rw-r--r--support-files/MacOSX/StartupItem.Description.plist2
-rwxr-xr-xsupport-files/MacOSX/mwar-wrapper16
-rwxr-xr-xsupport-files/MacOSX/mwcc-wrapper48
-rw-r--r--support-files/MacOSX/postflight.sh2
-rw-r--r--support-files/Makefile.am12
-rw-r--r--support-files/MySQL-shared-compat.spec.sh28
-rw-r--r--support-files/binary-configure.sh4
-rw-r--r--support-files/my-huge.cnf.sh3
-rw-r--r--support-files/my-innodb-heavy-4G.cnf.sh16
-rw-r--r--support-files/my-large.cnf.sh3
-rw-r--r--support-files/my-medium.cnf.sh2
-rw-r--r--support-files/my-small.cnf.sh2
-rw-r--r--support-files/mysql-log-rotate.sh13
-rw-r--r--support-files/mysql.server.sh85
-rw-r--r--support-files/mysql.spec.sh362
-rw-r--r--support-files/mysqld_multi.server.sh41
-rw-r--r--support-files/ndb-config-2-node.ini.sh43
19 files changed, 580 insertions, 106 deletions
diff --git a/support-files/MacOSX/Makefile.am b/support-files/MacOSX/Makefile.am
index d23ea142170..d751ed7ca5b 100644
--- a/support-files/MacOSX/Makefile.am
+++ b/support-files/MacOSX/Makefile.am
@@ -23,7 +23,7 @@ EXTRA_DIST = Info.plist.sh \
postflight.sh \
preflight.sh \
ReadMe.txt \
- MySQL \
+ MySQLCOM \
StartupItem.Description.plist \
StartupItem.Info.plist \
StartupItem.postinstall
diff --git a/support-files/MacOSX/MySQL b/support-files/MacOSX/MySQLCOM
index f6579700384..9be5edb56f7 100755
--- a/support-files/MacOSX/MySQL
+++ b/support-files/MacOSX/MySQLCOM
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# /Library/StartupItems/MySQL/MySQL
+# /Library/StartupItems/MySQLCOM/MySQLCOM
#
# A script to automatically start up MySQL on system bootup
# for Mac OS X. This is actually just a wrapper script around
diff --git a/support-files/MacOSX/StartupItem.Description.plist b/support-files/MacOSX/StartupItem.Description.plist
index 1f0023bde0d..e8ceb1ee062 100644
--- a/support-files/MacOSX/StartupItem.Description.plist
+++ b/support-files/MacOSX/StartupItem.Description.plist
@@ -10,6 +10,6 @@
<key>IFPkgDescriptionTitle</key>
<string>MySQL Startup Item</string>
<key>IFPkgDescriptionVersion</key>
- <string>1.0</string>
+ <string>1.1</string>
</dict>
</plist>
diff --git a/support-files/MacOSX/mwar-wrapper b/support-files/MacOSX/mwar-wrapper
new file mode 100755
index 00000000000..4bc5153e7ef
--- /dev/null
+++ b/support-files/MacOSX/mwar-wrapper
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+# This script can only create a library, not take it apart
+# again to AR files
+
+case $1 in
+ -d*|-m*|-t*|-p*|-r*|-x*|x)
+ echo "$0: can't handle arguments $*"
+ exit 1;
+ ;;
+ -c|c|cr|cru|cu)
+ shift;
+ ;;
+esac
+
+exec mwld -lib -o $*
diff --git a/support-files/MacOSX/mwcc-wrapper b/support-files/MacOSX/mwcc-wrapper
new file mode 100755
index 00000000000..914578aca1d
--- /dev/null
+++ b/support-files/MacOSX/mwcc-wrapper
@@ -0,0 +1,48 @@
+#!/bin/sh
+
+if [ -z "$CWINSTALL" ] ; then
+ echo "ERROR: You need to source 'mwvars' to set CWINSTALL and other variables"
+ exit 1
+fi
+
+if [ `expr "$MWMacOSXPPCLibraryFiles" : ".*BSD.*"` = 0 ] ; then
+ echo "ERROR: You need to source 'mwvars' with the 'bsd' argument"
+ exit 1
+fi
+
+# ==============================================================================
+
+# Extra options that don't change
+
+PREOPTS="-D__SCHAR_MAX__=127 -D__CHAR_BIT__=8 -ext o -gccinc"
+PREOPTS="$PREOPTS -wchar_t on -bool on -relax_pointers -align power_gcc"
+PREOPTS="$PREOPTS -stabs all -fno-handle-exceptions -Cpp_exceptions off"
+
+# ==============================================================================
+
+# We want the "PPC Specific" directory to be last, before the source
+# file. It is to work around a CodeWarrior/Apple bug, that we need a
+# Metrowersk header even though we have configured CodeWarrior to use
+# the BSD headers. But not to conflict, the directory has to be last.
+
+# FIXME this will probably break if one path contains space characters
+
+PREARGS=""
+for i in $* ; do
+ case "$i" in
+ -bind_at_load)
+ # This is a flag some version of libtool adds, when the host
+ # is "*darwin*". It doesn't check that it is gcc.
+ # FIXME add some flag?!
+ ;;
+ *.c|*.cc|*.cpp)
+ break
+ ;;
+ *)
+ PREARGS="$PREARGS $1"
+ ;;
+ esac
+ shift
+done
+#echo "mwcc $PREOPTS $PREARGS -I\"$CWINSTALL/MacOS X Support/Headers/PPC Specific\" $*"
+exec mwcc $PREOPTS $PREARGS -I"$CWINSTALL/MacOS X Support/Headers/PPC Specific" $*
diff --git a/support-files/MacOSX/postflight.sh b/support-files/MacOSX/postflight.sh
index c253ccbc6f2..451eb65e0d7 100644
--- a/support-files/MacOSX/postflight.sh
+++ b/support-files/MacOSX/postflight.sh
@@ -10,7 +10,7 @@
if cd @prefix@ ; then
if [ ! -f data/mysql/db.frm ] ; then
- ./scripts/mysql_install_db -IN-RPM
+ ./scripts/mysql_install_db --rpm
fi
if [ -d data ] ; then
diff --git a/support-files/Makefile.am b/support-files/Makefile.am
index eba3a534489..26d51438a1b 100644
--- a/support-files/Makefile.am
+++ b/support-files/Makefile.am
@@ -27,7 +27,8 @@ EXTRA_DIST = mysql.spec.sh \
mysql.server.sh \
binary-configure.sh \
magic \
- MySQL-shared-compat.spec.sh
+ MySQL-shared-compat.spec.sh \
+ ndb-config-2-node.ini.sh
SUBDIRS = MacOSX
@@ -37,7 +38,8 @@ pkgdata_DATA = my-small.cnf \
my-huge.cnf \
my-innodb-heavy-4G.cnf \
mysql-log-rotate \
- binary-configure
+ binary-configure \
+ ndb-config-2-node.ini
pkgdata_SCRIPTS = mysql.server
@@ -54,8 +56,8 @@ CLEANFILES = my-small.cnf \
mysql-log-rotate \
mysql.server \
binary-configure \
- MySQL-shared-compat.spec
-
+ MySQL-shared-compat.spec \
+ ndb-config-2-node.ini
mysql-@VERSION@.spec: mysql.spec
rm -f $@
@@ -90,7 +92,7 @@ SUFFIXES = .sh
-e 's!@''FIND_PROC''@!@FIND_PROC@!' \
-e 's!@''MYSQLD_DEFAULT_SWITCHES''@!@MYSQLD_DEFAULT_SWITCHES@!' \
-e 's!@''MYSQL_UNIX_ADDR''@!@MYSQL_UNIX_ADDR@!' \
- -e 's!@''IS_LINUX''@!@IS_LINUX@!' \
+ -e 's!@''TARGET_LINUX''@!@TARGET_LINUX@!' \
-e "s!@""CONF_COMMAND""@!@CONF_COMMAND@!" \
-e 's!@''MYSQLD_USER''@!@MYSQLD_USER@!' \
-e 's!@''sysconfdir''@!@sysconfdir@!' \
diff --git a/support-files/MySQL-shared-compat.spec.sh b/support-files/MySQL-shared-compat.spec.sh
index 068daadab58..e3c88c9415f 100644
--- a/support-files/MySQL-shared-compat.spec.sh
+++ b/support-files/MySQL-shared-compat.spec.sh
@@ -26,7 +26,8 @@
#
# Change this to match the version of the shared libs you want to include
#
-%define version4 @MYSQL_NO_DASH_VERSION@
+%define version41 @MYSQL_NO_DASH_VERSION@
+%define version40 4.0.23
%define version3 3.23.58
Name: MySQL-shared-compat
@@ -36,26 +37,31 @@ License: GPL
Group: Applications/Databases
URL: http://www.mysql.com/
Autoreqprov: on
-Version: %{version4}
+Version: %{version41}
Release: 0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Obsoletes: MySQL-shared, mysql-shared
Provides: MySQL-shared
-Summary: MySQL shared libraries for MySQL %{version4} and %{version3}
-Source0: MySQL-shared-%{version4}-0.%{_arch}.rpm
-Source1: MySQL-shared-%{version3}-1.%{_arch}.rpm
+Summary: MySQL shared client libraries for MySQL %{version41}, %{version40} and %{version3}
+# We simply use the "MySQL-shared" subpackages as input sources instead of
+# rebuilding all from source
+Source0: MySQL-shared-%{version41}-0.%{_arch}.rpm
+Source1: MySQL-shared-%{version40}-0.%{_arch}.rpm
+Source2: MySQL-shared-%{version3}-1.%{_arch}.rpm
# No need to include the RPMs once more - they can be downloaded seperately
# if you want to rebuild this package
NoSource: 0
NoSource: 1
+NoSource: 2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
-This package includes the shared libraries for both MySQL %{version3} and
-MySQL %{version4}. Install this package instead of "MySQL-shared", if you
-have applications installed that are dynamically linked against MySQL
-3.23.xx but you want to upgrade to MySQL 4.0.xx without breaking the library
-dependencies.
+This package includes the shared libraries for both MySQL %{version3},
+MySQL %{version40} as well as MySQL %{version41}.
+Install this package instead of "MySQL-shared", if you have applications
+installed that are dynamically linked against older versions of the MySQL
+client library but you want to upgrade to MySQL 4.1.xx without breaking the
+library dependencies.
%install
[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT;
@@ -63,6 +69,8 @@ mkdir -p $RPM_BUILD_ROOT
cd $RPM_BUILD_ROOT
rpm2cpio %{SOURCE0} | cpio -iv --make-directories
rpm2cpio %{SOURCE1} | cpio -iv --make-directories
+rpm2cpio %{SOURCE2} | cpio -iv --make-directories
+/sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}
%clean
[ "$RPM_BUILD_ROOT" != "/" ] && [ -d $RPM_BUILD_ROOT ] && rm -rf $RPM_BUILD_ROOT;
diff --git a/support-files/binary-configure.sh b/support-files/binary-configure.sh
index 107f468bffc..884a8363e22 100644
--- a/support-files/binary-configure.sh
+++ b/support-files/binary-configure.sh
@@ -14,11 +14,11 @@ echo "and start the MySQL server for you. If you run into any trouble, please"
echo "consult the MySQL manual, that you can find in the Docs directory."
echo ""
-./scripts/mysql_install_db
+./scripts/mysql_install_db --no-defaults
if [ $? = 0 ]
then
echo "Starting the mysqld server. You can test that it is up and running"
echo "with the command:"
echo "./bin/mysqladmin version"
- ./bin/mysqld_safe &
+ ./bin/mysqld_safe --no-defaults &
fi
diff --git a/support-files/my-huge.cnf.sh b/support-files/my-huge.cnf.sh
index e11b85f266f..06683994a72 100644
--- a/support-files/my-huge.cnf.sh
+++ b/support-files/my-huge.cnf.sh
@@ -31,8 +31,9 @@ max_allowed_packet = 1M
table_cache = 512
sort_buffer_size = 2M
read_buffer_size = 2M
+read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M
-thread_cache = 8
+thread_cache_size = 8
query_cache_size = 32M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
diff --git a/support-files/my-innodb-heavy-4G.cnf.sh b/support-files/my-innodb-heavy-4G.cnf.sh
index 70944873144..4204e172016 100644
--- a/support-files/my-innodb-heavy-4G.cnf.sh
+++ b/support-files/my-innodb-heavy-4G.cnf.sh
@@ -71,7 +71,7 @@ max_connections = 100
# the host will be blocked from connecting to the MySQL server until
# "FLUSH HOSTS" has been run or the server was restarted. Invalid
# passwords and other errors during the connect phase result in
-# increasing this value. See the "Aborted_Connects" status variable for
+# increasing this value. See the "Aborted_connects" status variable for
# global counter.
max_connect_errors = 10
@@ -111,14 +111,14 @@ max_heap_table_size = 64M
# Sort buffer is used to perform sorts for some ORDER BY and GROUP BY
# queries. If sorted data does not fit into the sort buffer, a disk
-# based merge sort is used instead - See "sort_merge_passes". Allocated
-# per thread if sort is needed.
+# based merge sort is used instead - See the "Sort_merge_passes"
+# status variable. Allocated per thread if sort is needed.
sort_buffer_size = 8M
# This buffer is used for the optimization of full JOINs (JOINs without
# indexes). Such JOINs are very bad for performance in most cases
# anyway, but setting this variable to a large value reduces the
-# performance impact. See the "select_full_join" status variable for a
+# performance impact. See the "Select_full_join" status variable for a
# count of full JOINs. Allocated per thread if full join is found
join_buffer_size = 8M
@@ -128,7 +128,7 @@ join_buffer_size = 8M
# the amount of thread creations needed if you have a lot of new
# connections. (Normally this doesn't give a notable performance
# improvement if you have a good thread implementation.)
-thread_cache = 8
+thread_cache_size = 8
# This permits the application to give the threads system a hint for the
# desired number of threads that should be run at the same time. This
@@ -177,7 +177,7 @@ default_table_type = MYISAM
thread_stack = 192K
# Set the default transaction isolation level. Levels available are:
-# READ-UNCOMMITED, READ-COMMITED, REPEATABLE-READ, SERIALIZABLE
+# READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
transaction_isolation = REPEATABLE-READ
# Maximum size for internal (in-memory) temporary tables. If a table
@@ -317,7 +317,7 @@ key_buffer_size = 32M
read_buffer_size = 2M
# When reading rows in sorted order after a sort, the rows are read
-# through this buffer to avoid a disk seeks. You can improve ORDER BY
+# through this buffer to avoid disk seeks. You can improve ORDER BY
# performance a lot, if set this to a high value.
# Allocated per thread, when needed.
read_rnd_buffer_size = 16M
@@ -331,7 +331,7 @@ read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
# This buffer is allocated when MySQL needs to rebuild the index in
-# REPAIR, OPTIMZE, ALTER table statements as well as in LOAD DATA INFILE
+# REPAIR, OPTIMIZE, ALTER table statements as well as in LOAD DATA INFILE
# into an empty table. It is allocated per thread so be careful with
# large settings.
myisam_sort_buffer_size = 128M
diff --git a/support-files/my-large.cnf.sh b/support-files/my-large.cnf.sh
index 5995064fb4e..85151eb1077 100644
--- a/support-files/my-large.cnf.sh
+++ b/support-files/my-large.cnf.sh
@@ -31,8 +31,9 @@ max_allowed_packet = 1M
table_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
+read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
-thread_cache = 8
+thread_cache_size = 8
query_cache_size= 16M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
diff --git a/support-files/my-medium.cnf.sh b/support-files/my-medium.cnf.sh
index f3a99db8019..529740d59f0 100644
--- a/support-files/my-medium.cnf.sh
+++ b/support-files/my-medium.cnf.sh
@@ -32,6 +32,8 @@ max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
+read_buffer_size = 256K
+read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
diff --git a/support-files/my-small.cnf.sh b/support-files/my-small.cnf.sh
index f1e3654dd88..b2ecca6127e 100644
--- a/support-files/my-small.cnf.sh
+++ b/support-files/my-small.cnf.sh
@@ -31,6 +31,8 @@ key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
+read_buffer_size = 256K
+read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K
diff --git a/support-files/mysql-log-rotate.sh b/support-files/mysql-log-rotate.sh
index a1153c66f40..0ee78b0f7ca 100644
--- a/support-files/mysql-log-rotate.sh
+++ b/support-files/mysql-log-rotate.sh
@@ -1,4 +1,9 @@
-# This logname is set in mysql.server.sh that ends up in /etc/rc.d/init.d/mysql
+# This logname can be set in /etc/my.cnf
+# by setting the variable "err-log"
+# in the [safe_mysqld] section as follows:
+#
+# [safe_mysqld]
+# err-log=@localstatedir@/mysqld.log
#
# If the root user has a password you have to create a
# /root/.my.cnf configuration file with the following
@@ -22,8 +27,10 @@
compress
postrotate
# just if mysqld is really running
- if test -n "`ps acx|grep mysqld`"; then
- @bindir@/mysqladmin flush-logs
+ if test -x @bindir@/mysqladmin && \
+ @bindir@/mysqladmin ping &>/dev/null
+ then
+ @bindir@/mysqladmin flush-logs
fi
endscript
}
diff --git a/support-files/mysql.server.sh b/support-files/mysql.server.sh
index 7f4987be3a8..0a18fbff78e 100644
--- a/support-files/mysql.server.sh
+++ b/support-files/mysql.server.sh
@@ -10,13 +10,14 @@
# started and shut down when the systems goes down.
# Comments to support chkconfig on RedHat Linux
-# chkconfig: 2345 90 20
+# chkconfig: 2345 64 36
# description: A very fast and reliable SQL database engine.
# Comments to support LSB init script conventions
### BEGIN INIT INFO
# Provides: mysql
# Required-Start: $local_fs $network $remote_fs
+# Should-Start: ypbind nscd ldap ntpd xntpd
# Required-Stop: $local_fs $network $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
@@ -54,6 +55,23 @@ else
bindir="$basedir/bin"
fi
+#
+# Use LSB init script functions for printing messages, if possible
+#
+lsb_functions="/lib/lsb/init-functions"
+if test -f $lsb_functions ; then
+ source $lsb_functions
+else
+ log_success_msg()
+ {
+ echo " SUCCESS! $@"
+ }
+ log_failure_msg()
+ {
+ echo " ERROR! $@"
+ }
+fi
+
PATH=/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin
export PATH
@@ -75,6 +93,33 @@ parse_arguments() {
done
}
+wait_for_pid () {
+ i=0
+ while test $i -lt 35 ; do
+ sleep 1
+ case "$1" in
+ 'created')
+ test -s $pid_file && i='' && break
+ ;;
+ 'removed')
+ test ! -s $pid_file && i='' && break
+ ;;
+ *)
+ echo "wait_for_pid () usage: wait_for_pid created|removed"
+ exit 1
+ ;;
+ esac
+ echo $echo_n ".$echo_c"
+ i=`expr $i + 1`
+ done
+
+ if test -z "$i" ; then
+ log_success_msg
+ else
+ log_failure_msg
+ fi
+}
+
# Get arguments from the my.cnf file,
# groups [mysqld] [mysql_server] and [mysql.server]
if test -x ./bin/my_print_defaults
@@ -125,7 +170,7 @@ then
extra_args="-e $datadir/my.cnf"
fi
-parse_arguments `$print_defaults $extra_args mysqld mysql_server mysql.server`
+parse_arguments `$print_defaults $extra_args mysqld server mysql_server mysql.server`
#
# Set pid file if not given
@@ -151,14 +196,17 @@ case "$mode" in
then
# Give extra arguments to mysqld with the my.cnf file. This script may
# be overwritten at next upgrade.
+ echo $echo_n "Starting MySQL"
$bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file >/dev/null 2>&1 &
+ wait_for_pid created
+
# Make lock for RedHat / SuSE
if test -w /var/lock/subsys
then
touch /var/lock/subsys/mysql
fi
else
- echo "Can't execute $bindir/mysqld_safe from dir $basedir"
+ log_failure_msg "Can't execute $bindir/mysqld_safe"
fi
;;
@@ -168,29 +216,18 @@ case "$mode" in
if test -s "$pid_file"
then
mysqld_pid=`cat $pid_file`
- echo "Killing mysqld with pid $mysqld_pid"
+ echo $echo_n "Shutting down MySQL"
kill $mysqld_pid
# mysqld should remove the pid_file when it exits, so wait for it.
+ wait_for_pid removed
- sleep 1
- while [ -s $pid_file -a "$flags" != aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ]
- do
- [ -z "$flags" ] && echo $echo_n "Wait for mysqld to exit$echo_c" || echo $echo_n ".$echo_c"
- flags=a$flags
- sleep 1
- done
- if [ -s $pid_file ]
- then echo " gave up waiting!"
- elif [ -n "$flags" ]
- then echo " done"
- fi
# delete lock for RedHat / SuSE
if test -f /var/lock/subsys/mysql
then
rm -f /var/lock/subsys/mysql
fi
else
- echo "No mysqld pid file found. Looked for $pid_file."
+ log_failure_msg "MySQL PID file could not be found!"
fi
;;
@@ -199,11 +236,21 @@ case "$mode" in
# running or not, start it again.
$0 stop
$0 start
- ;;
+ ;;
+
+ 'reload')
+ if test -s "$pid_file" ; then
+ mysqld_pid=`cat $pid_file`
+ kill -HUP $mysqld_pid && log_success_msg "Reloading service MySQL"
+ touch $pid_file
+ else
+ log_failure_msg "MySQL PID file could not be found!"
+ fi
+ ;;
*)
# usage
- echo "Usage: $0 start|stop|restart"
+ echo "Usage: $0 start|stop|restart|reload"
exit 1
;;
esac
diff --git a/support-files/mysql.spec.sh b/support-files/mysql.spec.sh
index 2958e857049..9cead3fce3f 100644
--- a/support-files/mysql.spec.sh
+++ b/support-files/mysql.spec.sh
@@ -1,5 +1,13 @@
%define mysql_version @VERSION@
-%define release 0
+# use "rpmbuild --with static" or "rpm --define '_with_static 1'" (for RPM 3.x)
+# to enable static linking (off by default)
+%{?_with_static:%define STATIC_BUILD 1}
+%{!?_with_static:%define STATIC_BUILD 0}
+%if %{STATIC_BUILD}
+%define release 0
+%else
+%define release 0.glibc23
+%endif
%define license GPL
%define mysqld_user mysql
%define mysqld_group mysql
@@ -20,11 +28,10 @@ Release: %{release}
License: %{license}
Source: http://www.mysql.com/Downloads/MySQL-@MYSQL_BASE_VERSION@/mysql-%{mysql_version}.tar.gz
URL: http://www.mysql.com/
-Packager: Lenz Grimmer <build@mysql.com>
+Packager: MySQL Production Engineering Team <build@mysql.com>
Vendor: MySQL AB
-Requires: fileutils sh-utils
Provides: msqlormysql MySQL-server mysql
-BuildPrereq: ncurses-devel
+BuildRequires: ncurses-devel
Obsoletes: mysql
# Think about what you use here since the first step is to
@@ -53,7 +60,7 @@ documentation and the manual for more information.
%package server
Summary: MySQL: a very fast and reliable SQL database server
Group: Applications/Databases
-Requires: fileutils sh-utils
+Requires: coreutils grep procps /usr/sbin/useradd /usr/sbin/groupadd /sbin/chkconfig
Provides: msqlormysql mysql-server mysql MySQL
Obsoletes: MySQL mysql mysql-server
@@ -75,9 +82,8 @@ The MySQL web site (http://www.mysql.com/) provides the latest
news and information about the MySQL software. Also please see the
documentation and the manual for more information.
-This package includes the MySQL server binary (statically linked,
-compiled with InnoDB support) as well as related utilities to run
-and administrate a MySQL server.
+This package includes the MySQL server binary (incl. InnoDB) as well
+as related utilities to run and administrate a MySQL server.
If you want to access and work with the database, you have to install
package "MySQL-client" as well!
@@ -93,6 +99,48 @@ This package contains the standard MySQL clients and administration tools.
%{see_base}
+%package ndb-storage
+Summary: MySQL - ndbcluster storage engine
+Group: Applications/Databases
+
+%description ndb-storage
+This package contains the ndbcluster storage engine.
+It is necessary to have this package installed on all
+computers that should store ndbcluster table data.
+Note that this storage engine can only be used in conjunction
+with the MySQL Max server.
+
+%{see_base}
+
+%package ndb-management
+Summary: MySQL - ndbcluster storage engine management
+Group: Applications/Databases
+
+%description ndb-management
+This package contains ndbcluster storage engine management.
+It is necessary to have this package installed on at least
+one computer in the cluster.
+
+%{see_base}
+
+%package ndb-tools
+Summary: MySQL - ndbcluster storage engine basic tools
+Group: Applications/Databases
+
+%description ndb-tools
+This package contains ndbcluster storage engine basic tools.
+
+%{see_base}
+
+%package ndb-extra
+Summary: MySQL - ndbcluster storage engine extra tools
+Group: Applications/Databases
+
+%description ndb-extra
+This package contains some extra ndbcluster storage engine tools for the advanced user.
+They should be used with caution.
+
+%{see_base}
%package bench
Requires: %{name}-client perl-DBI perl
@@ -100,6 +148,7 @@ Summary: MySQL - Benchmarks and test system
Group: Applications/Databases
Provides: mysql-bench
Obsoletes: mysql-bench
+AutoReqProv: no
%description bench
This package contains MySQL benchmark scripts and data.
@@ -127,15 +176,23 @@ This package contains the shared libraries (*.so*) which certain
languages and applications need to dynamically load and use MySQL.
%package Max
-Summary: MySQL - server with Berkeley BD, RAID and UDF support
+Summary: MySQL - server with extended functionality
Group: Applications/Databases
Provides: mysql-Max
Obsoletes: mysql-Max
Requires: MySQL-server >= @MYSQL_BASE_VERSION@
%description Max
-Optional MySQL server binary that supports additional features like
-Berkeley DB, RAID and User Defined Functions (UDFs).
+Optional MySQL server binary that supports additional features like:
+
+ - Berkeley DB Storage Engine
+ - Ndbcluster Storage Engine interface
+ - Archive Storage Engine
+ - CSV Storage Engine
+ - Example Storage Engine
+ - MyISAM RAID
+ - User Defined Functions (UDFs).
+
To activate this binary, just install this package in addition to
the standard MySQL package.
@@ -164,9 +221,6 @@ client/server version.
%setup -n mysql-%{mysql_version}
%build
-# The all-static flag is to make the RPM work on different
-# distributions. This version tries to put shared mysqlclient libraries
-# in a separate package.
BuildMySQL() {
# The --enable-assembler simply does nothing on systems that does not
@@ -178,6 +232,7 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-$PATH}\" \
CXXFLAGS=\"${MYSQL_BUILD_CXXFLAGS:-$RPM_OPT_FLAGS \
-felide-constructors -fno-exceptions -fno-rtti \
}\" \
+ LDFLAGS=\"$MYSQL_BUILD_LDFLAGS\" \
./configure \
$* \
--enable-assembler \
@@ -186,7 +241,6 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-$PATH}\" \
--with-unix-socket-path=/var/lib/mysql/mysql.sock \
--with-pic \
--prefix=/ \
- --with-extra-charsets=complex \
--exec-prefix=%{_exec_prefix} \
--libexecdir=%{_sbindir} \
--libdir=%{_libdir} \
@@ -197,7 +251,7 @@ sh -c "PATH=\"${MYSQL_BUILD_PATH:-$PATH}\" \
--includedir=%{_includedir} \
--mandir=%{_mandir} \
--enable-thread-safe-client \
- --with-comment=\"Official MySQL RPM\";
+ --with-readline ;
# Add this for more debugging support
# --with-debug
# Add this for MyISAM RAID support:
@@ -232,7 +286,7 @@ mkdir -p $RBR%{_libdir}/mysql
PATH=${MYSQL_BUILD_PATH:-/bin:/usr/bin}
export PATH
-# Build the 4.0 Max binary (includes BDB and UDFs and therefore
+# Build the Max binary (includes BDB and UDFs and therefore
# cannot be linked statically against the patched glibc)
# Use gcc for C and C++ code (to avoid a dependency on libstdc++ and
@@ -244,24 +298,42 @@ then
fi
BuildMySQL "--enable-shared \
+ --with-extra-charsets=all \
--with-berkeley-db \
--with-innodb \
+ --with-ndbcluster \
--with-raid \
+ --with-archive-storage-engine \
+ --with-csv-storage-engine \
+ --with-example-storage-engine \
+ --with-blackhole-storage-engine \
--with-embedded-server \
- --with-server-suffix='-Max'"
+ --with-comment=\"MySQL Community Edition - Experimental (GPL)\" \
+ --with-server-suffix='-max'"
-# Save everything for debug
-# tar cf $RBR/all.tar .
+# We might want to save the config log file
+if test -n "$MYSQL_MAXCONFLOG_DEST"
+then
+ cp -fp config.log "$MYSQL_MAXCONFLOG_DEST"
+fi
+
+make -i test-force || true
# Save mysqld-max
-mv sql/mysqld sql/mysqld-max
-nm --numeric-sort sql/mysqld-max > sql/mysqld-max.sym
+./libtool --mode=execute cp sql/mysqld sql/mysqld-max
+./libtool --mode=execute nm --numeric-sort sql/mysqld-max > sql/mysqld-max.sym
+
+# Save the perror binary so it supports the NDB error codes (BUG#13740)
+./libtool --mode=execute cp extra/perror extra/perror.ndb
+
+# Install the ndb binaries
+(cd ndb; make install DESTDIR=$RBR)
# Install embedded server library in the build root
install -m 644 libmysqld/libmysqld.a $RBR%{_libdir}/mysql/
# Include libgcc.a in the devel subpackage (BUG 4921)
-if [ "$CC" = gcc ]
+if expr "$CC" : ".*gcc.*" > /dev/null ;
then
libgcc=`$CC --print-libgcc-file`
if [ -f $libgcc ]
@@ -278,22 +350,37 @@ fi
# Now clean up
make clean
-# RPM:s destroys Makefile.in files, so we generate them here
-# aclocal; autoheader; aclocal; automake; autoconf
-# (cd innobase && aclocal && autoheader && aclocal && automake && autoconf)
-
-# Now build the statically linked 4.0 binary (which includes InnoDB)
+#
+# Only link statically on our i386 build host (which has a specially
+# patched static glibc installed) - ia64 and x86_64 run glibc-2.3 (unpatched)
+# so don't link statically there
+#
BuildMySQL "--disable-shared \
+%if %{STATIC_BUILD}
--with-mysqld-ldflags='-all-static' \
--with-client-ldflags='-all-static' \
$USE_OTHER_LIBC_DIR \
+%else
+ --with-zlib-dir=bundled \
+%endif
+ --with-extra-charsets=complex \
+ --with-comment=\"MySQL Community Edition - Standard (GPL)\" \
--with-server-suffix='%{server_suffix}' \
--without-embedded-server \
--without-berkeley-db \
--with-innodb \
--without-vio \
--without-openssl"
-nm --numeric-sort sql/mysqld > sql/mysqld.sym
+
+./libtool --mode=execute nm --numeric-sort sql/mysqld > sql/mysqld.sym
+
+# We might want to save the config log file
+if test -n "$MYSQL_CONFLOG_DEST"
+then
+ cp -fp config.log "$MYSQL_CONFLOG_DEST"
+fi
+
+make -i test-force || true
%install
RBR=$RPM_BUILD_ROOT
@@ -318,6 +405,9 @@ make install-strip DESTDIR=$RBR benchdir_root=%{_datadir}
# install saved mysqld-max
install -s -m755 $MBD/sql/mysqld-max $RBR%{_sbindir}/mysqld-max
+# install saved perror binary with NDB support (BUG#13740)
+install -s -m755 $MBD/extra/perror.ndb $RBR%{_bindir}/perror
+
# install symbol files ( for stack trace resolution)
install -m644 $MBD/sql/mysqld-max.sym $RBR%{_libdir}/mysql/mysqld-max.sym
install -m644 $MBD/sql/mysqld.sym $RBR%{_libdir}/mysql/mysqld.sym
@@ -382,8 +472,8 @@ usermod -g %{mysqld_group} %{mysqld_user} 2> /dev/null || true
# owns all database files.
chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir
-# Initiate databases
-%{_bindir}/mysql_install_db -IN-RPM --user=%{mysqld_user}
+# Initiate databases if needed
+%{_bindir}/mysql_install_db --rpm --user=%{mysqld_user}
# Change permissions again to fix any new files.
chown -R %{mysqld_user}:%{mysqld_group} $mysql_datadir
@@ -398,6 +488,14 @@ chmod -R og-rw $mysql_datadir/mysql
# Allow safe_mysqld to start mysqld and print a message before we exit
sleep 2
+
+%post ndb-storage
+mysql_clusterdir=/var/lib/mysql-cluster
+
+# Create cluster directory if needed
+if test ! -d $mysql_clusterdir; then mkdir -m755 $mysql_clusterdir; fi
+
+
%post Max
# Restart mysqld, to use the new binary.
echo "Restarting mysqld."
@@ -406,22 +504,22 @@ echo "Restarting mysqld."
%preun server
if test $1 = 0
then
- # Stop MySQL before uninstalling it
+ # Stop MySQL before uninstalling it
if test -x %{_sysconfdir}/init.d/mysql
then
%{_sysconfdir}/init.d/mysql stop > /dev/null
- fi
- # Remove autostart of mysql
- # for older SuSE Linux versions
- if test -x /sbin/insserv
- then
- /sbin/insserv -r %{_sysconfdir}/init.d/mysql
- # use chkconfig on Red Hat and newer SuSE releases
- elif test -x /sbin/chkconfig
- then
- /sbin/chkconfig --del mysql
- fi
+ # Remove autostart of mysql
+ # for older SuSE Linux versions
+ if test -x /sbin/insserv
+ then
+ /sbin/insserv -r %{_sysconfdir}/init.d/mysql
+ # use chkconfig on Red Hat and newer SuSE releases
+ elif test -x /sbin/chkconfig
+ then
+ /sbin/chkconfig --del mysql
+ fi
+ fi
fi
# We do not remove the mysql user since it may still own a lot of
@@ -436,14 +534,18 @@ fi
%doc COPYING README
%doc support-files/my-*.cnf
+%doc support-files/ndb-*.ini
%doc %attr(644, root, root) %{_infodir}/mysql.info*
+%doc %attr(644, root, man) %{_mandir}/man1/mysqlman.1*
%doc %attr(644, root, man) %{_mandir}/man1/isamchk.1*
%doc %attr(644, root, man) %{_mandir}/man1/isamlog.1*
+%doc %attr(644, root, man) %{_mandir}/man1/myisam_ftdump.1*
%doc %attr(644, root, man) %{_mandir}/man1/myisamchk.1*
%doc %attr(644, root, man) %{_mandir}/man1/myisamlog.1*
%doc %attr(644, root, man) %{_mandir}/man1/myisampack.1*
+%doc %attr(644, root, man) %{_mandir}/man1/mysql_explain_log.1*
%doc %attr(644, root, man) %{_mandir}/man8/mysqld.8*
%doc %attr(644, root, man) %{_mandir}/man1/mysqld_multi.1*
%doc %attr(644, root, man) %{_mandir}/man1/mysqld_safe.1*
@@ -460,30 +562,32 @@ fi
%attr(755, root, root) %{_bindir}/isamchk
%attr(755, root, root) %{_bindir}/isamlog
-%attr(755, root, root) %{_bindir}/myisamchk
+%attr(755, root, root) %{_bindir}/my_print_defaults
%attr(755, root, root) %{_bindir}/myisam_ftdump
+%attr(755, root, root) %{_bindir}/myisamchk
%attr(755, root, root) %{_bindir}/myisamlog
%attr(755, root, root) %{_bindir}/myisampack
-%attr(755, root, root) %{_bindir}/my_print_defaults
-%attr(755, root, root) %{_bindir}/mysqlbug
%attr(755, root, root) %{_bindir}/mysql_convert_table_format
-%attr(755, root, root) %{_bindir}/mysqld_multi
-%attr(755, root, root) %{_bindir}/mysqld_safe
-%attr(755, root, root) %{_bindir}/mysqldumpslow
+%attr(755, root, root) %{_bindir}/mysql_create_system_tables
%attr(755, root, root) %{_bindir}/mysql_explain_log
%attr(755, root, root) %{_bindir}/mysql_fix_extensions
%attr(755, root, root) %{_bindir}/mysql_fix_privilege_tables
-%attr(755, root, root) %{_bindir}/mysqlhotcopy
%attr(755, root, root) %{_bindir}/mysql_install_db
%attr(755, root, root) %{_bindir}/mysql_secure_installation
%attr(755, root, root) %{_bindir}/mysql_setpermission
-%attr(755, root, root) %{_bindir}/mysqltest
+%attr(755, root, root) %{_bindir}/mysql_tzinfo_to_sql
%attr(755, root, root) %{_bindir}/mysql_zap
+%attr(755, root, root) %{_bindir}/mysqlbug
+%attr(755, root, root) %{_bindir}/mysqld_multi
+%attr(755, root, root) %{_bindir}/mysqld_safe
+%attr(755, root, root) %{_bindir}/mysqldumpslow
+%attr(755, root, root) %{_bindir}/mysqlhotcopy
+%attr(755, root, root) %{_bindir}/mysqltest
%attr(755, root, root) %{_bindir}/pack_isam
%attr(755, root, root) %{_bindir}/perror
%attr(755, root, root) %{_bindir}/replace
-%attr(755, root, root) %{_bindir}/resolveip
%attr(755, root, root) %{_bindir}/resolve_stack_dump
+%attr(755, root, root) %{_bindir}/resolveip
%attr(755, root, root) %{_bindir}/safe_mysqld
%attr(755, root, root) %{_sbindir}/mysqld
@@ -526,6 +630,32 @@ fi
%postun shared
/sbin/ldconfig
+%files ndb-storage
+%defattr(-,root,root,0755)
+%attr(755, root, root) %{_sbindir}/ndbd
+
+%files ndb-management
+%defattr(-,root,root,0755)
+%attr(755, root, root) %{_sbindir}/ndb_mgmd
+
+%files ndb-tools
+%defattr(-,root,root,0755)
+%attr(755, root, root) %{_bindir}/ndb_mgm
+%attr(755, root, root) %{_bindir}/ndb_restore
+%attr(755, root, root) %{_bindir}/ndb_waiter
+%attr(755, root, root) %{_bindir}/ndb_select_all
+%attr(755, root, root) %{_bindir}/ndb_select_count
+%attr(755, root, root) %{_bindir}/ndb_desc
+%attr(755, root, root) %{_bindir}/ndb_show_tables
+%attr(755, root, root) %{_bindir}/ndb_test_platform
+%attr(755, root, root) %{_bindir}/ndb_config
+
+%files ndb-extra
+%defattr(-,root,root,0755)
+%attr(755, root, root) %{_bindir}/ndb_drop_index
+%attr(755, root, root) %{_bindir}/ndb_drop_table
+%attr(755, root, root) %{_bindir}/ndb_delete_all
+
%files devel
%defattr(-, root, root, 0755)
%doc EXCEPTIONS-CLIENT
@@ -551,6 +681,11 @@ fi
%{_libdir}/mysql/libmysys.a
%{_libdir}/mysql/libnisam.a
%{_libdir}/mysql/libvio.a
+%if %{STATIC_BUILD}
+%else
+%{_libdir}/mysql/libz.a
+%{_libdir}/mysql/libz.la
+%endif
%files shared
%defattr(-, root, root, 0755)
@@ -561,9 +696,10 @@ fi
%defattr(-, root, root, 0755)
%attr(-, root, root) %{_datadir}/sql-bench
%attr(-, root, root) %{_datadir}/mysql-test
+%attr(755, root, root) %{_bindir}/mysql_client_test
%attr(755, root, root) %{_bindir}/mysqlmanager
-%attr(755, root, root) %{_bindir}/mysqlmanager-pwgen
%attr(755, root, root) %{_bindir}/mysqlmanagerc
+%attr(755, root, root) %{_bindir}/mysqlmanager-pwgen
%files Max
%defattr(-, root, root, 0755)
@@ -586,6 +722,52 @@ fi
- Always compile for PIC, position independent code.
+* Wed May 10 2006 Kent Boortz <kent@mysql.com>
+
+- Use character set "all" for the "max", to make Cluster nodes
+ independent on the character set directory, and the problem that
+ two RPM sub packages both wants to install this directory.
+
+* Mon May 01 2006 Kent Boortz <kent@mysql.com>
+
+- Use "./libtool --mode=execute" instead of searching for the
+ executable in current directory and ".libs".
+
+* Sat Apr 01 2006 Kent Boortz <kent@mysql.com>
+
+- Set $LDFLAGS from $MYSQL_BUILD_LDFLAGS
+
+* Fri Mar 03 2006 Kent Boortz <kent@mysql.com>
+
+- Can't use bundled zlib when doing static build. Might be a
+ automake/libtool problem, having two .la files, "libmysqlclient.la"
+ and "libz.la", on the same command line to link "thread_test"
+ expands to too many "-lc", "-lpthread" and other libs giving hard
+ to nail down duplicate symbol defintion problems.
+
+* Fri Jan 10 2006 Joerg Bruehe <joerg@mysql.com>
+
+- Use "-i" on "make test-force";
+ this is essential for later evaluation of this log file.
+
+* Fri Dec 12 2005 Rodrigo Novo <rodrigo@mysql.com>
+
+- Added zlib to the list of (static) libraries installed
+- Added check against libtool wierdness (WRT: sql/mysqld || sql/.libs/mysqld)
+- Compile MySQL with bundled zlib
+- Fixed %packager name to "MySQL Production Engineering Team"
+
+* Mon Dec 05 2005 Joerg Bruehe <joerg@mysql.com>
+
+- Avoid using the "bundled" zlib on "shared" builds:
+ As it is not installed (on the build system), this gives dependency
+ problems with "libtool" causing the build to fail.
+
+* Tue Nov 22 2005 Joerg Bruehe <joerg@mysql.com>
+
+- Extend the file existence check for "init.d/mysql" on un-install
+ to also guard the call to "insserv"/"chkconfig".
+
* Thu Oct 27 2005 Lenz Grimmer <lenz@grimmer.com>
- added more man pages
@@ -594,6 +776,11 @@ fi
- added a usermod call to assign a potential existing mysql user to the
correct user group (BUG#12823)
+- Save the perror binary built during Max build so it supports the NDB
+ error codes (BUG#13740)
+- added a separate macro "mysqld_group" to be able to define the
+ user group of the mysql user seperately, if desired.
+
* Thu Sep 29 2005 Lenz Grimmer <lenz@mysql.com>
- fixed the removing of the RPM_BUILD_ROOT in the %clean section (the
@@ -603,12 +790,28 @@ fi
- Fixed the creation of the mysql user group account in the postinstall
section (BUG 12348)
+- Fixed enabling the Archive storage engine in the Max binary
+
+* Tue Aug 02 2005 Lenz Grimmer <lenz@mysql.com>
+
+- Fixed the Requires: tag for the server RPM (BUG 12233)
* Fri Jul 15 2005 Lenz Grimmer <lenz@mysql.com>
- create a "mysql" user group and assign the mysql user account to that group
in the server postinstall section. (BUG 10984)
+* Tue Jun 14 2005 Lenz Grimmer <lenz@mysql.com>
+
+- Do not build statically on i386 by default, only when adding either "--with
+ static" or "--define '_with_static 1'" to the RPM build options. Static
+ linking really only makes sense when linking against the specially patched
+ glibc 2.2.5.
+
+* Mon Jun 06 2005 Lenz Grimmer <lenz@mysql.com>
+
+- added mysql_client_test to the "bench" subpackage (BUG 10676)
+
* Wed Jun 01 2005 Lenz Grimmer <lenz@mysql.com>
- use "mysqldatadir" variable instead of hard-coding the path multiple times
@@ -620,15 +823,45 @@ fi
- Added a "make clean" between separate calls to "BuildMySQL".
+* Wed Apr 20 2005 Lenz Grimmer <lenz@mysql.com>
+
+- Enabled the "blackhole" storage engine for the Max RPM
+
* Wed Apr 13 2005 Lenz Grimmer <lenz@mysql.com>
- removed the MySQL manual files (html/ps/texi) - they have been removed
from the MySQL sources and are now available seperately.
+* Mon Feb 14 2005 Lenz Grimmer <lenz@mysql.com>
+
+- Fixed the compilation comments and moved them into the separate build sections
+ for Max and Standard
+
+* Mon Feb 7 2005 Tomas Ulin <tomas@mysql.com>
+
+- enabled the "Ndbcluster" storage engine for the max binary
+- added extra make install in ndb subdir after Max build to get ndb binaries
+- added packages for ndbcluster storage engine
+
+* Fri Jan 14 2005 Lenz Grimmer <lenz@mysql.com>
+
+- replaced obsoleted "BuildPrereq" with "BuildRequires" instead
+
+* Thu Dec 31 2004 Lenz Grimmer <lenz@mysql.com>
+
+- enabled the "Archive" storage engine for the max binary
+- enabled the "CSV" storage engine for the max binary
+- enabled the "Example" storage engine for the max binary
+
* Thu Aug 26 2004 Lenz Grimmer <lenz@mysql.com>
- MySQL-Max now requires MySQL-server instead of MySQL (BUG 3860)
+* Fri Aug 20 2004 Lenz Grimmer <lenz@mysql.com>
+
+- do not link statically on IA64/AMD64 as these systems do not have
+ a patched glibc installed
+
* Tue Aug 10 2004 Lenz Grimmer <lenz@mysql.com>
- Added libmygcc.a to the devel subpackage (required to link applications
@@ -638,6 +871,21 @@ fi
- Added EXCEPTIONS-CLIENT to the "devel" package
+* Thu Jul 29 2004 Lenz Grimmer <lenz@mysql.com>
+
+- disabled OpenSSL in the Max binaries again (the RPM packages were the
+ only exception to this anyway) (BUG 1043)
+
+* Wed Jun 30 2004 Lenz Grimmer <lenz@mysql.com>
+
+- fixed server postinstall (mysql_install_db was called with the wrong
+ parameter)
+
+* Thu Jun 24 2004 Lenz Grimmer <lenz@mysql.com>
+
+- added mysql_tzinfo_to_sql to the server subpackage
+- run "make clean" instead of "make distclean"
+
* Mon Apr 05 2004 Lenz Grimmer <lenz@mysql.com>
- added ncurses-devel to the build prerequisites (BUG 3377)
@@ -651,6 +899,10 @@ fi
- added myisam_ftdump to the Server package
+* Tue Jan 13 2004 Lenz Grimmer <lenz@mysql.com>
+
+- link the mysql client against libreadline instead of libedit (BUG 2289)
+
* Mon Dec 22 2003 Lenz Grimmer <lenz@mysql.com>
- marked /etc/logrotate.d/mysql as a config file (BUG 2156)
@@ -663,6 +915,10 @@ fi
- made testing for gcc3 a bit more robust
+* Fri Dec 05 2003 Lenz Grimmer <lenz@mysql.com>
+
+- added missing file mysql_create_system_tables to the server subpackage
+
* Fri Nov 21 2003 Lenz Grimmer <lenz@mysql.com>
- removed dependency on MySQL-client from the MySQL-devel subpackage
diff --git a/support-files/mysqld_multi.server.sh b/support-files/mysqld_multi.server.sh
new file mode 100644
index 00000000000..aaf3f2ebb40
--- /dev/null
+++ b/support-files/mysqld_multi.server.sh
@@ -0,0 +1,41 @@
+#!/bin/sh
+#
+# A simple startup script for mysqld_multi by Tim Smith and Jani Tolonen.
+# This script assumes that my.cnf file exists either in /etc/my.cnf or
+# /root/.my.cnf and has groups [mysqld_multi] and [mysqldN]. See the
+# mysqld_multi documentation for detailed instructions.
+#
+# This script can be used as /etc/init.d/mysql.server
+#
+# Version 1.0
+#
+
+basedir=/usr/local/mysql
+bindir=/usr/local/mysql/bin
+
+if test -x $bindir/mysqld_multi
+then
+ mysqld_multi="$bindir/mysqld_multi";
+else
+ echo "Can't execute $bindir/mysqld_multi from dir $basedir";
+ exit;
+fi
+
+case "$1" in
+ 'start' )
+ "$mysqld_multi" start $2
+ ;;
+ 'stop' )
+ "$mysqld_multi" stop $2
+ ;;
+ 'report' )
+ "$mysqld_multi" report $2
+ ;;
+ 'restart' )
+ "$mysqld_multi" stop $2
+ "$mysqld_multi" start $2
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|report|restart}" >&2
+ ;;
+esac
diff --git a/support-files/ndb-config-2-node.ini.sh b/support-files/ndb-config-2-node.ini.sh
new file mode 100644
index 00000000000..be80f1dd0b3
--- /dev/null
+++ b/support-files/ndb-config-2-node.ini.sh
@@ -0,0 +1,43 @@
+# Example Ndbcluster storage engine config file.
+#
+[ndbd default]
+NoOfReplicas= 2
+MaxNoOfConcurrentOperations= 10000
+DataMemory= 80M
+IndexMemory= 24M
+TimeBetweenWatchDogCheck= 30000
+DataDir= /var/lib/mysql-cluster
+MaxNoOfOrderedIndexes= 512
+
+[ndb_mgmd default]
+DataDir= /var/lib/mysql-cluster
+
+[ndb_mgmd]
+Id=1
+HostName= localhost
+
+[ndbd]
+Id= 2
+HostName= localhost
+
+[ndbd]
+Id= 3
+HostName= localhost
+
+[mysqld]
+Id= 4
+
+[mysqld]
+Id= 5
+
+[mysqld]
+Id= 6
+
+[mysqld]
+Id= 7
+
+# choose an unused port number
+# in this configuration 63132, 63133, and 63134
+# will be used
+[tcp default]
+PortNumber= 63132