From 13ce82d85a37320b9ea198ed0d5877171ac00958 Mon Sep 17 00:00:00 2001 From: cvs2git Date: Fri, 29 Dec 2006 14:35:28 +0000 Subject: [PATCH] This commit was manufactured by cvs2git to create branch 'MYSQL_5_0'. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Cherrypick from master 2006-11-28 23:40:30 UTC Arkadiusz Miśkiewicz '- rel 3': mysql-align.patch -> 1.2 mysql-bug-20153.patch -> 1.2 mysql-build.patch -> 1.1 mysql-c++.patch -> 1.9 mysql-client-config.patch -> 1.3 mysql-clusters.conf -> 1.6 mysql-info.patch -> 1.5 mysql-ndb-cpc.init -> 1.3 mysql-ndb-cpc.sysconfig -> 1.1 mysql-ndb-ldflags.patch -> 1.1 mysql-ndb-mgm.init -> 1.3 mysql-ndb-mgm.sysconfig -> 1.1 mysql-ndb.init -> 1.3 mysql-ndb.sysconfig -> 1.1 mysql-noproc.patch -> 1.2 mysql-sql-cxx-pic.patch -> 1.2 mysql.spec -> 1.353 mysql.sysconfig -> 1.15 mysqld.conf -> 1.34 Cherrypick from master 2006-12-29 14:35:28 UTC Arkadiusz Miśkiewicz '- fix ssl issues': mysql-bug-24148.patch -> 1.1 mysql-fix_privilege_tables.patch -> 1.8 --- mysql-align.patch | 71 +++ mysql-bug-20153.patch | 18 + mysql-bug-24148.patch | 51 ++ mysql-build.patch | 12 + mysql-c++.patch | 12 + mysql-client-config.patch | 30 ++ mysql-clusters.conf | 10 + mysql-fix_privilege_tables.patch | 12 + mysql-info.patch | 15 + mysql-ndb-cpc.init | 76 +++ mysql-ndb-cpc.sysconfig | 2 + mysql-ndb-ldflags.patch | 12 + mysql-ndb-mgm.init | 76 +++ mysql-ndb-mgm.sysconfig | 2 + mysql-ndb.init | 76 +++ mysql-ndb.sysconfig | 2 + mysql-noproc.patch | 33 ++ mysql-sql-cxx-pic.patch | 10 + mysql.spec | 891 +++++++++++++++++++++++++++++++ mysql.sysconfig | 24 + mysqld.conf | 209 ++++++++ 21 files changed, 1644 insertions(+) create mode 100644 mysql-align.patch create mode 100644 mysql-bug-20153.patch create mode 100644 mysql-bug-24148.patch create mode 100644 mysql-build.patch create mode 100644 mysql-c++.patch create mode 100644 mysql-client-config.patch create mode 100644 mysql-clusters.conf create mode 100644 mysql-fix_privilege_tables.patch create mode 100644 mysql-info.patch create mode 100644 mysql-ndb-cpc.init create mode 100644 mysql-ndb-cpc.sysconfig create mode 100644 mysql-ndb-ldflags.patch create mode 100644 mysql-ndb-mgm.init create mode 100644 mysql-ndb-mgm.sysconfig create mode 100644 mysql-ndb.init create mode 100644 mysql-ndb.sysconfig create mode 100644 mysql-noproc.patch create mode 100644 mysql-sql-cxx-pic.patch create mode 100644 mysql.spec create mode 100644 mysql.sysconfig create mode 100644 mysqld.conf diff --git a/mysql-align.patch b/mysql-align.patch new file mode 100644 index 0000000..5feab48 --- /dev/null +++ b/mysql-align.patch @@ -0,0 +1,71 @@ +--- mysql-4.1.10/mysys/my_getopt.c.orig 2005-02-12 21:37:32.000000000 +0100 ++++ mysql-4.1.10/mysys/my_getopt.c 2005-03-04 10:52:33.000000000 +0100 +@@ -34,7 +34,7 @@ + static ulonglong getopt_ull(char *arg, const struct my_option *optp, + int *err); + static void init_variables(const struct my_option *options); +-static int setval(const struct my_option *opts, gptr *value, char *argument, ++static int setval(const struct my_option *opts, gptr value, char *argument, + my_bool set_maximum_value); + static char *check_struct_option(char *cur_arg, char *key_name); + +@@ -96,7 +96,7 @@ + char **pos, **pos_end, *optend, *prev_found, + *opt_str, key_name[FN_REFLEN]; + const struct my_option *optp; +- gptr *value; ++ gptr value; + int error; + + LINT_INIT(opt_found); +@@ -537,14 +537,14 @@ + Will set the option value to given value + */ + +-static int setval(const struct my_option *opts, gptr *value, char *argument, ++static int setval(const struct my_option *opts, gptr value, char *argument, + my_bool set_maximum_value) + { + int err= 0; + + if (value && argument) + { +- gptr *result_pos= ((set_maximum_value) ? ++ gptr result_pos= ((set_maximum_value) ? + opts->u_max_value : value); + + if (!result_pos) +@@ -738,7 +738,7 @@ + value Pointer to variable + */ + +-static void init_one_value(const struct my_option *option, gptr *variable, ++static void init_one_value(const struct my_option *option, gptr variable, + longlong value) + { + switch ((option->var_type & GET_TYPE_MASK)) { +@@ -793,12 +793,12 @@ + set the value to default value. + */ + if (options->u_max_value) +- init_one_value(options, options->u_max_value, options->max_value); ++ init_one_value(options, (gptr)(options->u_max_value), options->max_value); + if (options->value) +- init_one_value(options, options->value, options->def_value); ++ init_one_value(options, (gptr)(options->value), options->def_value); + if (options->var_type & GET_ASK_ADDR && + (variable= (*getopt_get_addr)("", 0, options))) +- init_one_value(options, variable, options->def_value); ++ init_one_value(options, (gptr)variable, options->def_value); + } + } + +@@ -898,7 +898,7 @@ + printf("--------------------------------- -----------------------------\n"); + for (optp= options; optp->id; optp++) + { +- gptr *value= (optp->var_type & GET_ASK_ADDR ? ++ gptr value= (optp->var_type & GET_ASK_ADDR ? + (*getopt_get_addr)("", 0, optp) : optp->value); + if (value) + { diff --git a/mysql-bug-20153.patch b/mysql-bug-20153.patch new file mode 100644 index 0000000..5efe456 --- /dev/null +++ b/mysql-bug-20153.patch @@ -0,0 +1,18 @@ +--- mysql-5.0.22/scripts/mysqlhotcopy.sh 2006-05-25 11:56:49.000000000 +0300 ++++ /home/glen/mysqlhotcopy.fixed 2006-06-09 18:41:01.447594016 +0300 +@@ -212,6 +212,7 @@ + while ( my ($var,$value) = $sth_vars->fetchrow_array ) { + $mysqld_vars{ $var } = $value; + } ++$sth_vars->finish(); + my $datadir = $mysqld_vars{'datadir'} + || die "datadir not in mysqld variables"; + $datadir= $opt{chroot}.$datadir if ($opt{chroot}); +@@ -255,6 +256,7 @@ + next if $db_name =~ m/^information_schema$/i; + push @db_desc, { 'src' => $db_name, 't_regex' => $t_regex } if ( $db_name =~ m/$opt{regexp}/o ); + } ++ $sth_dbs->finish(); + } + + # --- get list of tables to hotcopy --- diff --git a/mysql-bug-24148.patch b/mysql-bug-24148.patch new file mode 100644 index 0000000..1e04db2 --- /dev/null +++ b/mysql-bug-24148.patch @@ -0,0 +1,51 @@ +From: msvensson at mysql dot com +Date: December 22 2006 12:05am +Subject: bk commit into 5.0 tree (msvensson:1.2352) BUG#24148 + +Below is the list of changes that have just been committed into a local +5.0 repository of msvensson. When msvensson does a push these changes will +be propagated to the main repository and, within 24 hours after the +push, to the public repository. +For information on how to access the public repository +see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html + +ChangeSet@stripped, 2006-12-22 00:05:40+01:00, msvensson@stripped +1 -0 + Bug#24148 regression tests hang with SSL enabled + - Don't call SSL_shutdown a second time + + vio/viossl.c@stripped, 2006-12-22 00:05:39+01:00, msvensson@stripped +9 -5 + SSL_shutdown might return 0 indicating that it should be called once + again for a graceful shutdown. Since the socket are going to be closed + anyway ther is no need for the second call. + +# This is a BitKeeper patch. What follows are the unified diffs for the +# set of deltas contained in the patch. The rest of the patch, the part +# that BitKeeper cares about, is below these diffs. +# User: msvensson +# Host: pilot.mysql.com +# Root: /home/msvensson/mysql/mysql-5.0-maint + +--- 1.38/vio/viossl.c 2006-11-20 21:41:56 +01:00 ++++ 1.39/vio/viossl.c 2006-12-22 00:05:39 +01:00 +@@ -126,12 +126,16 @@ + { + switch ((r= SSL_shutdown(ssl))) + { +- case 1: /* Shutdown successful */ ++ case 1: ++ /* Shutdown successful */ ++ break; ++ case 0: ++ /* ++ Shutdown not yet finished - since the socket is going to ++ be closed there is no need to call SSL_shutdown() a second ++ time to wait for the other side to respond ++ */ + break; +- case 0: /* Shutdown not yet finished, call it again */ +- if ((r= SSL_shutdown(ssl) >= 0)) +- break; +- /* Fallthrough */ + default: /* Shutdown failed */ + DBUG_PRINT("vio_error", ("SSL_shutdown() failed, error: %d", + SSL_get_error(ssl, r))); diff --git a/mysql-build.patch b/mysql-build.patch new file mode 100644 index 0000000..11ef6ee --- /dev/null +++ b/mysql-build.patch @@ -0,0 +1,12 @@ +diff -urNbB mysql-5.0.13-rc.org/sql/mysqld.cc mysql-5.0.13-rc/sql/mysqld.cc +--- mysql-5.0.13-rc.org/sql/mysqld.cc 2005-09-22 21:39:56.000000000 +0200 ++++ mysql-5.0.13-rc/sql/mysqld.cc 2005-09-29 19:29:59.991454000 +0200 +@@ -3183,7 +3183,7 @@ + init_ssl(); + + #ifdef HAVE_LIBWRAP +- libwrapName= my_progname+dirname_length(my_progname); ++ libwrapName= (char *)my_progname+dirname_length(my_progname); + openlog(libwrapName, LOG_PID, LOG_AUTH); + #endif + diff --git a/mysql-c++.patch b/mysql-c++.patch new file mode 100644 index 0000000..2abe3d5 --- /dev/null +++ b/mysql-c++.patch @@ -0,0 +1,12 @@ +diff -ur mysql-4.1.7.org/myisam/Makefile.am mysql-4.1.7/myisam/Makefile.am +--- mysql-4.1.7.org/myisam/Makefile.am 2004-10-27 01:35:55.000000000 +0200 ++++ mysql-4.1.7/myisam/Makefile.am 2004-10-27 01:41:47.764533080 +0200 +@@ -21,7 +21,7 @@ + LDADD = @CLIENT_EXTRA_LDFLAGS@ libmyisam.a \ + $(top_builddir)/mysys/libmysys.a \ + $(top_builddir)/dbug/libdbug.a \ +- $(top_builddir)/strings/libmystrings.a @ZLIB_LIBS@ ++ $(top_builddir)/strings/libmystrings.a @ZLIB_LIBS@ $(libdir)/libsupc++.la + pkglib_LIBRARIES = libmyisam.a + bin_PROGRAMS = myisamchk myisamlog myisampack myisam_ftdump + myisamchk_DEPENDENCIES= $(LIBRARIES) diff --git a/mysql-client-config.patch b/mysql-client-config.patch new file mode 100644 index 0000000..662ffa1 --- /dev/null +++ b/mysql-client-config.patch @@ -0,0 +1,30 @@ +--- mysql-5.1.6-alpha/libmysqld/client.c~ 2006-02-21 16:09:31.000000000 +0200 ++++ mysql-5.1.6-alpha/libmysqld/client.c 2006-02-21 16:11:30.000000000 +0200 +@@ -1456,6 +1456,7 @@ + + mysql->options.methods_to_use= MYSQL_OPT_GUESS_CONNECTION; + mysql->options.report_data_truncation= TRUE; /* default */ ++ mysql_read_default_options(&mysql->options, "/etc/mysql/mysql-client.conf", NULL); + + /* + By default we don't reconnect because it could silently corrupt data (after +--- mysql-5.1.6-alpha/sql/client.c~ 2006-02-21 16:09:32.000000000 +0200 ++++ mysql-5.1.6-alpha/sql/client.c 2006-02-21 16:12:13.000000000 +0200 +@@ -1456,6 +1456,7 @@ + + mysql->options.methods_to_use= MYSQL_OPT_GUESS_CONNECTION; + mysql->options.report_data_truncation= TRUE; /* default */ ++ mysql_read_default_options(&mysql->options, "/etc/mysql/mysql-client.conf", NULL); + + /* + By default we don't reconnect because it could silently corrupt data (after +--- mysql-5.1.6-alpha/sql-common/client.c~ 2006-02-21 16:09:34.000000000 +0200 ++++ mysql-5.1.6-alpha/sql-common/client.c 2006-02-21 16:14:10.000000000 +0200 +@@ -1456,6 +1456,7 @@ + + mysql->options.methods_to_use= MYSQL_OPT_GUESS_CONNECTION; + mysql->options.report_data_truncation= TRUE; /* default */ ++ mysql_read_default_options(&mysql->options, "/etc/mysql/mysql-client.conf", NULL); + + /* + By default we don't reconnect because it could silently corrupt data (after diff --git a/mysql-clusters.conf b/mysql-clusters.conf new file mode 100644 index 0000000..c617647 --- /dev/null +++ b/mysql-clusters.conf @@ -0,0 +1,10 @@ +# This file contains MySQL clusters configuration. +# If you want to use more than one cluster read carefuly +# http://www.mysql.com/doc/en/Multiple_servers.html +# and set properly all described there options. +# +# You can add one cluster per line +# /config/location.conf=/cluster/directory +# If you give config name without path it defaults to /etc/mysql/ + +mysqld.conf=/var/lib/mysql diff --git a/mysql-fix_privilege_tables.patch b/mysql-fix_privilege_tables.patch new file mode 100644 index 0000000..2ee99ba --- /dev/null +++ b/mysql-fix_privilege_tables.patch @@ -0,0 +1,12 @@ +diff -urN mysql-4.1.7.org/scripts/mysql_fix_privilege_tables.sh mysql-4.1.7/scripts/mysql_fix_privilege_tables.sh +--- mysql-4.1.7.org/scripts/mysql_fix_privilege_tables.sh 2004-10-27 01:35:56.000000000 +0200 ++++ mysql-4.1.7/scripts/mysql_fix_privilege_tables.sh 2004-10-27 12:13:42.159439392 +0200 +@@ -5,7 +5,7 @@ + # Default values (Can be changed in my.cnf) + password="" + host="localhost" +-user="root" ++user="mysql" + sql_only=0 + basedir="" + verbose=0 diff --git a/mysql-info.patch b/mysql-info.patch new file mode 100644 index 0000000..179f823 --- /dev/null +++ b/mysql-info.patch @@ -0,0 +1,15 @@ +--- mysql-4.1.12/Docs/mysql.info~ 2005-05-16 08:05:46.000000000 +0300 ++++ mysql-4.1.12/Docs/mysql.info 2005-05-16 08:06:36.000000000 +0300 +@@ -1,8 +1,9 @@ + This is mysql.info, produced by makeinfo version 4.7 from manual.texi. + +-START-INFO-DIR-ENTRY +-* mysql: (mysql). MySQL documentation. +-END-INFO-DIR-ENTRY ++@dircategory Data bases: ++@direntry ++* mysql: (mysql). MySQL documentation ++@end direntry + +  + File: mysql.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir) diff --git a/mysql-ndb-cpc.init b/mysql-ndb-cpc.init new file mode 100644 index 0000000..9d5d971 --- /dev/null +++ b/mysql-ndb-cpc.init @@ -0,0 +1,76 @@ +#!/bin/sh +# +# mysql-ndb-cpc This shell script takes care of starting and stopping mysql-ndb-cpc. +# +# chkconfig: 2345 80 30 +# description: mysql-ndb-cpc is a mysql NDB engine +# +# processname: ndbd + +# Source function library. +. /etc/rc.d/init.d/functions + +# Source networking configuration. +. /etc/sysconfig/network + +# Source oident configureation. +if [ -f /etc/sysconfig/mysql-ndb-cpc ]; then + . /etc/sysconfig/mysql-ndb-cpc +fi + +# Check that networking is up. +if is_yes "${NETWORKING}"; then + if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then + msg_network_down mysql-ndb-cpc + exit 1 + fi +else + exit 0 +fi + +start() { + # Start daemons. + if [ ! -f /var/lock/subsys/mysql-ndb-cpc ]; then + msg_starting "mysql ndb_cpcd" + daemon ndb_cpcd $MYSQL_NDB_CPC_OPT + RETVAL=$? + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/mysql-ndb-cpc + else + msg_already_running "mysql ndb_cpcd" + fi +} + +stop() { + # Stop daemons. + if [ -f /var/lock/subsys/mysql-ndb-cpc ]; then + msg_stopping "mysql ndb_cpcd" + killproc ndbd + rm -f /var/lock/subsys/mysql-ndb-cpc >/dev/null 2>&1 + else + msg_not_running "mysql ndb_cpcd" + fi +} + +RETVAL=0 +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|force-reload) + stop + start + ;; + status) + status ndb_cpcd + exit $? + ;; + *) + msg_usage "$0 {start|stop|restart|force-reload|status}" + exit 3 +esac + +exit $RETVAL diff --git a/mysql-ndb-cpc.sysconfig b/mysql-ndb-cpc.sysconfig new file mode 100644 index 0000000..d6ad0c9 --- /dev/null +++ b/mysql-ndb-cpc.sysconfig @@ -0,0 +1,2 @@ +MYSQL_NDB_CPC_OPT="" +SERVICE_RUN_NICE_LEVEL="+0" diff --git a/mysql-ndb-ldflags.patch b/mysql-ndb-ldflags.patch new file mode 100644 index 0000000..5d42f48 --- /dev/null +++ b/mysql-ndb-ldflags.patch @@ -0,0 +1,12 @@ +diff -ur mysql-5.0.19.orig/configure.in mysql-5.0.19/configure.in +--- mysql-5.0.19.orig/configure.in 2006-03-12 21:34:26.000000000 +0200 ++++ mysql-5.0.19/configure.in 2006-03-12 21:35:17.000000000 +0200 +@@ -2701,7 +2701,7 @@ + AC_SUBST([ndb_transporter_opt_objs]) + + ndb_opt_subdirs= +-ndb_bin_am_ldflags="-static" ++ndb_bin_am_ldflags="" + if test X"$have_ndb_test" = Xyes + then + ndb_opt_subdirs="test" diff --git a/mysql-ndb-mgm.init b/mysql-ndb-mgm.init new file mode 100644 index 0000000..f4008f4 --- /dev/null +++ b/mysql-ndb-mgm.init @@ -0,0 +1,76 @@ +#!/bin/sh +# +# mysql-ndb-mgm This shell script takes care of starting and stopping mysql-ndb-mgm. +# +# chkconfig: 2345 80 30 +# description: mysql-ndb-mgm is a mysql NDB engine +# +# processname: ndbd + +# Source function library. +. /etc/rc.d/init.d/functions + +# Source networking configuration. +. /etc/sysconfig/network + +# Source oident configureation. +if [ -f /etc/sysconfig/mysql-ndb-mgm ]; then + . /etc/sysconfig/mysql-ndb-mgm +fi + +# Check that networking is up. +if is_yes "${NETWORKING}"; then + if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then + msg_network_down mysql-ndb-mgm + exit 1 + fi +else + exit 0 +fi + +start() { + # Start daemons. + if [ ! -f /var/lock/subsys/mysql-ndb-mgm ]; then + msg_starting "mysql ndb_mgmd" + daemon ndb_mgmd $MYSQL_NDB_MGM_OPT + RETVAL=$? + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/mysql-ndb-mgm + else + msg_already_running "mysql ndb_mgmd" + fi +} + +stop() { + # Stop daemons. + if [ -f /var/lock/subsys/mysql-ndb-mgm ]; then + msg_stopping "mysql ndb_mgmd" + killproc ndbd + rm -f /var/lock/subsys/mysql-ndb-mgm >/dev/null 2>&1 + else + msg_not_running "mysql ndb_mgmd" + fi +} + +RETVAL=0 +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|force-reload) + stop + start + ;; + status) + status ndb_mgmd + exit $? + ;; + *) + msg_usage "$0 {start|stop|restart|force-reload|status}" + exit 3 +esac + +exit $RETVAL diff --git a/mysql-ndb-mgm.sysconfig b/mysql-ndb-mgm.sysconfig new file mode 100644 index 0000000..fc4936f --- /dev/null +++ b/mysql-ndb-mgm.sysconfig @@ -0,0 +1,2 @@ +MYSQL_NDB_MGM_OPT="" +SERVICE_RUN_NICE_LEVEL="+0" diff --git a/mysql-ndb.init b/mysql-ndb.init new file mode 100644 index 0000000..82f1bc0 --- /dev/null +++ b/mysql-ndb.init @@ -0,0 +1,76 @@ +#!/bin/sh +# +# mysql-ndb This shell script takes care of starting and stopping mysql-ndb. +# +# chkconfig: 2345 80 30 +# description: mysql-ndb is a mysql NDB engine +# +# processname: ndbd + +# Source function library. +. /etc/rc.d/init.d/functions + +# Source networking configuration. +. /etc/sysconfig/network + +# Source oident configureation. +if [ -f /etc/sysconfig/mysql-ndb ]; then + . /etc/sysconfig/mysql-ndb +fi + +# Check that networking is up. +if is_yes "${NETWORKING}"; then + if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then + msg_network_down mysql-ndb + exit 1 + fi +else + exit 0 +fi + +start() { + # Start daemons. + if [ ! -f /var/lock/subsys/mysql-ndb ]; then + msg_starting "mysql ndbd" + daemon ndbd $MYSQL_NDB_OPT + RETVAL=$? + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/mysql-ndb + else + msg_already_running "mysql ndbd" + fi +} + +stop() { + # Stop daemons. + if [ -f /var/lock/subsys/mysql-ndb ]; then + msg_stopping "mysql ndbd" + killproc ndbd + rm -f /var/lock/subsys/mysql-ndb >/dev/null 2>&1 + else + msg_not_running "mysql ndbd" + fi +} + +RETVAL=0 +# See how we were called. +case "$1" in + start) + start + ;; + stop) + stop + ;; + restart|force-reload) + stop + start + ;; + status) + status ndbd + exit $? + ;; + *) + msg_usage "$0 {start|stop|restart|force-reload|status}" + exit 3 +esac + +exit $RETVAL diff --git a/mysql-ndb.sysconfig b/mysql-ndb.sysconfig new file mode 100644 index 0000000..8b93682 --- /dev/null +++ b/mysql-ndb.sysconfig @@ -0,0 +1,2 @@ +MYSQL_NDB_OPT="" +SERVICE_RUN_NICE_LEVEL="+0" diff --git a/mysql-noproc.patch b/mysql-noproc.patch new file mode 100644 index 0000000..90b7878 --- /dev/null +++ b/mysql-noproc.patch @@ -0,0 +1,33 @@ +--- mysql-4.0.13/configure.in.orig Fri Jul 11 11:59:51 2003 ++++ mysql-4.0.13/configure.in Fri Jul 11 14:06:50 2003 +@@ -431,6 +431,7 @@ + # Lock for PS + AC_PATH_PROG(PS, ps, ps) + AC_MSG_CHECKING("how to check if pid exists") ++if test -z "$FIND_PROC"; then + PS=$ac_cv_path_PS + # Linux style + if $PS p $$ 2> /dev/null | grep $0 > /dev/null +@@ -467,12 +468,14 @@ + AC_MSG_ERROR([Could not find the right ps switches. Which OS is this ?. See the Installation chapter in the Reference Manual.]) + esac + fi ++fi + AC_SUBST(FIND_PROC) + AC_MSG_RESULT("$FIND_PROC") + + # Check if a pid is valid + AC_PATH_PROG(KILL, kill, kill) + AC_MSG_CHECKING("for kill switches") ++if test -z "$CHECK_PID"; then + if $ac_cv_path_KILL -0 $$ + then + CHECK_PID="$ac_cv_path_KILL -0 \$\$PID > /dev/null 2> /dev/null" +@@ -483,6 +486,7 @@ + AC_MSG_WARN([kill -0 to check for pid seems to fail]) + CHECK_PID="$ac_cv_path_KILL -s SIGCONT \$\$PID > /dev/null 2> /dev/null" + fi ++fi + AC_SUBST(CHECK_PID) + AC_MSG_RESULT("$CHECK_PID") + diff --git a/mysql-sql-cxx-pic.patch b/mysql-sql-cxx-pic.patch new file mode 100644 index 0000000..5e82fe8 --- /dev/null +++ b/mysql-sql-cxx-pic.patch @@ -0,0 +1,10 @@ +--- mysql-5.0.26/sql/Makefile.am~ 2006-10-10 21:06:32.407695412 +0300 ++++ mysql-5.0.26/sql/Makefile.am 2006-10-11 00:35:45.939463254 +0300 +@@ -122,6 +122,7 @@ + DISTCLEANFILES = lex_hash.h sql_yacc.output + + AM_YFLAGS = -d --debug --verbose ++AM_CXXFLAGS = -fPIC + + mysql_tzinfo_to_sql.cc: + rm -f mysql_tzinfo_to_sql.cc diff --git a/mysql.spec b/mysql.spec new file mode 100644 index 0000000..df39f50 --- /dev/null +++ b/mysql.spec @@ -0,0 +1,891 @@ +# TODO: +# - C(XX)FLAGS for innodb subdirs are overriden by ./configure! +# - http://bugs.mysql.com/bug.php?id=16470 +# +# Conditional build: +%bcond_with bdb # Berkeley DB support +%bcond_without innodb # Without InnoDB support +%bcond_without raid # Without raid +%bcond_without ssl # Without OpenSSL +%bcond_without tcpd # Without libwrap (tcp_wrappers) support +%bcond_without big_tables # Support tables with more than 4G rows even on 32 bit platforms +# +%include /usr/lib/rpm/macros.perl +#define _snap 20060111 +Summary: MySQL: a very fast and reliable SQL database engine +Summary(de): MySQL: ist eine SQL-Datenbank +Summary(fr): MySQL: un serveur SQL rapide et fiable +Summary(pl): MySQL: bardzo szybka i niezawodna baza danych (SQL) +Summary(pt_BR): MySQL: Um servidor SQL rápido e confiável +Summary(ru): MySQL - ÂÙÓÔÒÙÊ SQL-ÓÅÒ×ÅÒ +Summary(uk): MySQL - Û×ÉÄËÉÊ SQL-ÓÅÒ×ÅÒ +Summary(zh_CN): MySQLÊý¾Ý¿â·þÎñÆ÷ +Name: mysql +Version: 5.0.27 +Release: 3 +License: GPL + MySQL FLOSS Exception +Group: Applications/Databases +Source0: http://ftp.gwdg.de/pub/misc/mysql/Downloads/MySQL-5.0/%{name}-%{version}.tar.gz +# Source0-md5: 584d423440a9d9c859678e3d4f2690b3 +#Source0: http://downloads.mysql.com/snapshots/mysql-5.0/%{name}-%{version}-nightly-%{_snap}.tar.gz +Source1: %{name}.init +Source2: %{name}.sysconfig +Source3: %{name}.logrotate +Source4: %{name}d.conf +Source5: %{name}-clusters.conf +Source7: %{name}-ndb.init +Source8: %{name}-ndb.sysconfig +Source9: %{name}-ndb-mgm.init +Source10: %{name}-ndb-mgm.sysconfig +Source11: %{name}-ndb-cpc.init +Source12: %{name}-ndb-cpc.sysconfig +Source13: %{name}-client.conf +Patch0: %{name}-libs.patch + +Patch2: %{name}-c++.patch +Patch3: %{name}-info.patch +Patch4: %{name}-sql-cxx-pic.patch +Patch5: %{name}-noproc.patch +Patch6: %{name}-fix_privilege_tables.patch +Patch7: %{name}-align.patch +Patch8: %{name}-client-config.patch +Patch9: %{name}-build.patch +Patch10: %{name}-alpha.patch +Patch11: %{name}-ndb-ldflags.patch +Patch12: %{name}-bug-20153.patch +URL: http://www.mysql.com/products/database/mysql/community_edition.html +BuildRequires: autoconf +BuildRequires: automake +%{?with_bdb:BuildRequires: db3-devel} +BuildRequires: libstdc++-devel >= 5:3.0 +BuildRequires: libtool +%{?with_tcpd:BuildRequires: libwrap-devel} +BuildRequires: ncurses-devel >= 4.2 +%{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d} +BuildRequires: perl-DBI +BuildRequires: perl-devel >= 1:5.6.1 +BuildRequires: readline-devel >= 4.2 +BuildRequires: rpm-perlprov >= 4.1-13 +BuildRequires: rpmbuild(macros) >= 1.268 +BuildRequires: sed >= 4.0 +BuildRequires: texinfo +BuildRequires: zlib-devel +Requires(post,preun): /sbin/chkconfig +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel +Requires(pre): /bin/id +Requires(pre): /usr/bin/getgid +Requires(pre): /usr/sbin/groupadd +Requires(pre): /usr/sbin/useradd +Requires(triggerpostun): sed >= 4.0 +Requires: %{name}-charsets = %{version}-%{release} +Requires: /usr/bin/setsid +Requires: rc-scripts >= 0.2.0 +Provides: MySQL-server +Provides: group(mysql) +Provides: msqlormysql +Provides: user(mysql) +Obsoletes: MySQL +Obsoletes: mysql-server +BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) + +%define _libexecdir %{_sbindir} +%define _localstatedir /var/lib/mysql +%define _mysqlhome /home/services/mysql + +%define _noautoreqdep 'perl(DBD::mysql)' +# CFLAGS for innodb are altered +%undefine configure_cache + +%description +MySQL is a true multi-user, multi-threaded SQL (Structured Query +Language) database server. SQL is the most popular database language +in the world. MySQL is a client/server implementation that consists of +a server daemon mysqld and many different client programs/libraries. + +The main goals of MySQL are speed, robustness and easy to use. MySQL +was originally developed because we at Tcx needed a SQL server that +could handle very big databases with magnitude higher speed than what +any database vendor could offer to us. We have now been using MySQL +since 1996 in a environment with more than 40 databases, 10,000 +tables, of which more than 500 have more than 7 million rows. This is +about 50G of mission critical data. + +The base upon which MySQL is built is a set of routines that have been +used in a highly demanding production environment for many years. +While MySQL is still in development, it already offers a rich and +highly useful function set. + +%description -l fr +MySQL est un serveur de bases de donnees SQL vraiment multi-usagers et +multi-taches. Le langage SQL est le langage de bases de donnees le +plus populaire au monde. MySQL est une implementation client/serveur +qui consiste en un serveur (mysqld) et differents +programmes/bibliotheques clientes. + +Les objectifs principaux de MySQL sont: vitesse, robustesse et +facilite d'utilisation. MySQL fut originalement developpe parce que +nous, chez Tcx, avions besoin d'un serveur SQL qui pouvait gerer de +tres grandes bases de donnees avec une vitesse d'un ordre de magnitude +superieur a ce que n'importe quel vendeur pouvait nous offrir. Nous +utilisons MySQL depuis 1996 dans un environnement avec plus de 40 +bases de donnees, 10000 tables, desquelles plus de 500 ont plus de 7 +millions de lignes. Ceci represente environ 50G de donnees critiques. + +A la base de la conception de MySQL, on retrouve une serie de routines +qui ont ete utilisees dans un environnement de production pendant +plusieurs annees. Meme si MySQL est encore en developpement, il offre +deja une riche et utile serie de fonctions. + +%description -l pl +MySQL to prawdziwie wielou¿ytkownikowy, wielow±tkowy serwer baz danych +SQL. SQL jest najpopularniejszym na ¶wiecie jêzykiem u¿ywanym do baz +danych. MySQL to implementacja klient/serwer sk³adaj±ca siê z demona +mysqld i wielu ró¿nych programów i bibliotek klienckich. + +G³ównymi celami MySQL-a s± szybko¶æ, potêga i ³atwo¶æ u¿ytkowania. +MySQL oryginalnie by³ tworzony, poniewa¿ autorzy w Tcx potrzebowali +serwera SQL do obs³ugi bardzo du¿ych baz danych z szybko¶ci± o wiele +wiêksz±, ni¿ mogli zaoferowaæ inni producenci baz danych. U¿ywaj± go +od 1996 roku w ¶rodowisku z ponad 40 bazami danych, 10 000 tabel, z +których ponad 500 zawiera ponad 7 milionów rekordów - w sumie oko³o +50GB krytycznych danych. + +Baza, na której oparty jest MySQL, sk³ada siê ze zbioru procedur, +które by³y u¿ywane w bardzo wymagaj±cym ¶rodowisku produkcyjnym przez +wiele lat. Pomimo, ¿e MySQL jest ci±gle rozwijany, ju¿ oferuje bogaty +i u¿yteczny zbiór funkcji. + +%description -l de +MySQL ist eine SQL-Datenbank. Allerdings ist sie im Gegensatz zu +Oracle, DB2 oder PostgreSQL keine relationale Datenbank. Die Daten +werden zwar in zweidimensionalen Tabellen gespeichert und können mit +einem Primärschlüssel versehen werden. Es ist aber keine Definition +eines Fremdschlüssels möglich. Der Benutzer ist somit bei einer +MySQL-Datenbank völlig allein für die (referenzielle) Integrität der +Daten verantwortlich. Allein durch die Nutzung externer +Tabellenformate, wie InnoDB bzw Berkeley DB wird eine Relationalität +ermöglicht. Diese Projekte sind aber getrennt von MySQL zu betrachten. + +%description -l pt_BR +O MySQL é um servidor de banco de dados SQL realmente multiusuário e +multi-tarefa. A linguagem SQL é a mais popular linguagem para banco de +dados no mundo. O MySQL é uma implementação cliente/servidor que +consiste de um servidor chamado mysqld e diversos +programas/bibliotecas clientes. Os principais objetivos do MySQL são: +velocidade, robustez e facilidade de uso. O MySQL foi originalmente +desenvolvido porque nós na Tcx precisávamos de um servidor SQL que +pudesse lidar com grandes bases de dados e com uma velocidade muito +maior do que a que qualquer vendedor podia nos oferecer. Estamos +usando o MySQL desde 1996 em um ambiente com mais de 40 bases de dados +com 10.000 tabelas, das quais mais de 500 têm mais de 7 milhões de +linhas. Isto é o equivalente a aproximadamente 50G de dados críticos. +A base da construção do MySQL é uma série de rotinas que foram usadas +em um ambiente de produção com alta demanda por muitos anos. Mesmo o +MySQL estando ainda em desenvolvimento, ele já oferece um conjunto de +funções muito ricas e úteis. Veja a documentação para maiores +informações. + +%description -l ru +MySQL - ÜÔÏ SQL (Structured Query Language) ÓÅÒ×ÅÒ ÂÁÚÙ ÄÁÎÎÙÈ. MySQL +ÂÙÌÁ ÎÁÐÉÓÁÎÁ Michael'ÏÍ (monty) Widenius'ÏÍ. óÍ. ÆÁÊÌ CREDITS × +ÄÉÓÔÒÉÂÕÔÉ×Å ÎÁ ÐÒÅÄÍÅÔ ÄÒÕÇÉÈ ÕÞÁÓÔÎÉËÏ× ÐÒÏÅËÔÁ É ÐÒÏÞÅÊ ÉÎÆÏÒÍÁÃÉÉ +Ï MySQL. + +%description -l uk +MySQL - ÃÅ SQL (Structured Query Language) ÓÅÒ×ÅÒ ÂÁÚÉ ÄÁÎÉÈ. MySQL +ÂÕÌÏ ÎÁÐÉÓÁÎÏ Michael'ÏÍ (monty) Widenius'ÏÍ. äÉ×. ÆÁÊÌ CREDITS × +ÄÉÓÔÒÉÂÕÔÉצ ÄÌÑ ¦ÎÆÏÒÍÁæ§ ÐÒÏ ¦ÎÛÉÈ ÕÞÁÓÎÉË¦× ÐÒÏÅËÔÕ ÔÁ ¦ÎÛϧ +¦ÎÆÏÒÍÁæ§. + +%package charsets +Summary: MySQL - character sets definitions +Summary(pl): MySQL - definicje kodowañ znaków +Group: Applications/Databases + +%description charsets +This package contains character sets definitions needed by both client +and server. + +%description charsets -l pl +Ten pakiet zawiera definicje kodowañ znaków potrzebne dla serwera i +klienta. + +%package extras +Summary: MySQL additional utilities +Summary(pl): Dodatkowe narzêdzia do MySQL +Group: Applications/Databases +Requires: %{name}-libs = %{version}-%{release} + +%description extras +MySQL additional utilities except Perl scripts (they may be found in +%{name}-extras-perl package). + +%description extras -l pl +Dodatkowe narzêdzia do MySQL - z wyj±tkiem skryptów Perla (które s± w +pakiecie %{name}-extras-perl). + +%package extras-perl +Summary: MySQL additional utilities written in Perl +Summary(pl): Dodatkowe narzêdzia do MySQL napisane w Perlu +Group: Applications/Databases +Requires: %{name}-extras = %{version}-%{release} +Requires: perl(DBD::mysql) + +%description extras-perl +MySQL additional utilities written in Perl. + +%description extras-perl -l pl +Dodatkowe narzêdzia do MySQL napisane w Perlu. + +%package client +Summary: MySQL - Client +Summary(pl): MySQL - Klient +Summary(pt): MySQL - Cliente +Summary(ru): MySQL ËÌÉÅÎÔ +Summary(uk): MySQL Ë̦¤ÎÔ +Group: Applications/Databases +Requires: %{name}-charsets = %{version}-%{release} +Requires: %{name}-libs = %{version}-%{release} +Obsoletes: MySQL-client + +%description client +This package contains the standard MySQL clients. + +%description client -l fr +Ce package contient les clients MySQL standards. + +%description client -l pl +Standardowe programy klienckie MySQL. + +%description client -l pt_BR +Este pacote contém os clientes padrão para o MySQL. + +%description client -l ru +üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÔÏÌØËÏ ËÌÉÅÎÔ MySQL. + +%description client -l uk +ãÅÊ ÐÁËÅÔ Í¦ÓÔÉÔØ Ô¦ÌØËÉ Ë̦¤ÎÔÁ MySQL. + +%package libs +Summary: Shared libraries for MySQL +Summary(pl): Biblioteki dzielone MySQL +Group: Libraries +Obsoletes: libmysql10 +Obsoletes: mysql-doc < 4.1.12 + +%description libs +Shared libraries for MySQL. + +%description libs -l pl +Biblioteki dzielone MySQL. + +%package devel +Summary: MySQL - Development header files and libraries +Summary(pl): MySQL - Pliki nag³ówkowe i biblioteki dla programistów +Summary(pt): MySQL - Medições de desempenho +Summary(ru): MySQL - ÈÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ ÒÁÚÒÁÂÏÔÞÉËÁ +Summary(uk): MySQL - ÈÅÄÅÒÉ ÔÁ ¦Â̦ÏÔÅËÉ ÐÒÏÇÒÁͦÓÔÁ +Group: Development/Libraries +Requires: %{name}-libs = %{version}-%{release} +%{?with_ssl:Requires: openssl-devel} +Requires: zlib-devel +Obsoletes: MySQL-devel +Obsoletes: libmysql10-devel + +%description devel +This package contains the development header files and libraries +necessary to develop MySQL client applications. + +%description devel -l fr +Ce package contient les fichiers entetes et les librairies de +developpement necessaires pour developper des applications clientes +MySQL. + +%description devel -l pl +Pliki nag³ówkowe i biblioteki konieczne do kompilacji aplikacji +klienckich MySQL. + +%description devel -l pt_BR +Este pacote contém os arquivos de cabeçalho (header files) e +bibliotecas necessárias para desenvolver aplicações clientes do MySQL. + +%description devel -l ru +üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÈÅÄÅÒÙ É ÂÉÂÌÉÏÔÅËÉ ÒÁÚÒÁÂÏÔÞÉËÁ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ +ÒÁÚÒÁÂÏÔËÉ ËÌÉÅÎÔÓËÉÈ ÐÒÉÌÏÖÅÎÉÊ. + +%description devel -l uk +ãÅÊ ÐÁËÅÔ Í¦ÓÔÉÔØ ÈÅÄÅÒÉ ÔÁ ¦Â̦ÏÔÅËÉ ÐÒÏÇÒÁͦÓÔÁ, ÎÅÏÂȦÄΦ ÄÌÑ +ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ-Ë̦¤ÎÔ¦×. + +%package static +Summary: MySQL static libraries +Summary(pl): Biblioteki statyczne MySQL +Summary(ru): MySQL - ÓÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ +Summary(uk): MySQL - ÓÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ +Group: Development/Libraries +Requires: %{name}-devel = %{version}-%{release} +Obsoletes: MySQL-static + +%description static +MySQL static libraries. + +%description static -l pl +Biblioteki statyczne MySQL. + +%description static -l ru +üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÓÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ ÒÁÚÒÁÂÏÔÞÉËÁ, ÎÅÏÂÈÏÄÉÍÙÅ +ÄÌÑ ÒÁÚÒÁÂÏÔËÉ ËÌÉÅÎÔÓËÉÈ ÐÒÉÌÏÖÅÎÉÊ. + +%description static -l uk +ãÅÊ ÐÁËÅÔ Í¦ÓÔÉÔØ ÓÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ ÐÒÏÇÒÁͦÓÔÁ, ÎÅÏÂȦÄΦ ÄÌÑ +ÒÏÚÒÏÂËÉ ÐÒÏÇÒÁÍ-Ë̦¤ÎÔ¦×. + +%package bench +Summary: MySQL - Benchmarks +Summary(pl): MySQL - Programy testuj±ce szybko¶æ dzia³ania bazy +Summary(pt): MySQL - Medições de desempenho +Summary(ru): MySQL - ÂÅÎÞÍÁÒËÉ +Summary(uk): MySQL - ÂÅÎÞÍÁÒËÉ +Group: Applications/Databases +Requires: %{name} = %{version}-%{release} +Requires: %{name}-client +Requires: perl(DBD::mysql) +Obsoletes: MySQL-bench + +%description bench +This package contains MySQL benchmark scripts and data. + +%description bench -l pl +Programy testuj±ce szybko¶æ serwera MySQL. + +%description bench -l pt_BR +Este pacote contém medições de desempenho de scripts e dados do MySQL. + +%description bench -l ru +üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÓËÒÉÐÔÙ É ÄÁÎÎÙÅ ÄÌÑ ÏÃÅÎËÉ ÐÒÏÉÚ×ÏÄÉÔÅÌØÎÏÓÔÉ +MySQL. + +%description bench -l uk +ãÅÊ ÐÁËÅÔ Í¦ÓÔÉÔØ ÓËÒÉÐÔÉ ÔÁ ÄÁΦ ÄÌÑ ÏæÎËÉ ÐÒÏÄÕËÔÉ×ÎÏÓÔ¦ MySQL. + +%package doc +Summary: MySQL manual +Summary(pl): Podrêcznik u¿ytkownika MySQL +Group: Applications/Databases + +%description doc +This package contains manual in HTML format. + +%description doc -l pl +Podrêcznik MySQL-a w formacie HTML. + +%package ndb +Summary: MySQL - NDB Storage Engine Daemon +Summary(pl): MySQL - demon silnika przechowywania danych NDB +Group: Applications/Databases +Requires: %{name}-libs = %{version}-%{release} + +%description ndb +This package contains the standard MySQL NDB Storage Engine Daemon. + +%description ndb -l pl +Ten pakiet zawiera standardowego demona silnika przechowywania danych +NDB. + +%package ndb-client +Summary: MySQL - NDB Clients +Summary(pl): MySQL - programy klienckie NDB +Group: Applications/Databases +Requires: %{name}-libs = %{version}-%{release} + +%description ndb-client +This package contains the standard MySQL NDB Clients. + +%description ndb-client -l pl +Ten pakiet zawiera standardowe programy klienckie MySQL NDB. + +%package ndb-mgm +Summary: MySQL - NDB Management Daemon +Summary(pl): MySQL - demon zarz±dzaj±cy NDB +Group: Applications/Databases +Requires: %{name}-libs = %{version}-%{release} + +%description ndb-mgm +This package contains the standard MySQL NDB Management Daemon. + +%description ndb-mgm -l pl +Ten pakiet zawiera standardowego demona zarz±dzaj±cego MySQL NDB. + +%package ndb-cpc +Summary: MySQL - NDB CPC Daemon +Summary(pl): MySQL - demon NDB CPC +Group: Applications/Databases +Requires: %{name}-libs = %{version}-%{release} + +%description ndb-cpc +This package contains the standard MySQL NDB CPC Daemon. + +%description ndb-cpc -l pl +Ten pakiet zawiera standardowego demona MySQL NDB CPC. + +%prep +%setup -q %{?_snap:-n %{name}-%{version}-nightly-%{_snap}} +%patch0 -p1 + +%patch2 -p1 +%patch3 -p1 +%ifarch alpha +# this is strange: mysqld functions for UDF modules are not explicitly defined, +# so -rdynamic is used; in such case gcc3+ld on alpha doesn't like C++ vtables +# in objects compiled without -fPIC +%patch4 -p1 +# gcc 3.3.x ICE +%patch10 -p1 +%endif +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch11 -p1 +%patch12 -p1 + +%build +%{__libtoolize} +%{__aclocal} +%{__automake} +%{__autoconf} + +# The compiler flags are as per their "official" spec ;) +CXXFLAGS="%{rpmcflags} -felide-constructors -fno-rtti -fno-exceptions %{!?debug:-fomit-frame-pointer}" +CFLAGS="%{rpmcflags} %{!?debug:-fomit-frame-pointer}" + +# NOTE: the PS, FIND_PROC, KILL, CHECK_PID are not used by PLD Linux +# and therefore do not add BR on these. These are here just to satisfy +# configure. + +%configure \ + PS='/bin/ps' \ + FIND_PROC='/bin/ps p $$PID' \ + KILL='/bin/kill' \ + CHECK_PID='/bin/kill -0 $$PID' \ + --enable-assembler \ + --enable-largefile=yes \ + --enable-shared \ + --enable-static \ + --enable-thread-safe-client \ + --with%{!?with_bdb:out}-berkeley-db \ + --with%{!?with_innodb:out}-innodb \ + --with%{!?with_raid:out}-raid \ + --with%{!?with_ssl:out}-openssl \ + --with%{!?with_tcpd:out}-libwrap \ + %{?with_big_tables:--with-big-tables} \ + --with-comment="PLD Linux Distribution MySQL RPM" \ + --with%{!?debug:out}-debug \ + --with%{!?debug:out}-ndb-debug \ + --with-embedded-server \ + --with-extra-charsets=all \ + --with-low-memory \ + --with-mysqld-user=mysql \ + --with-named-curses-libs="-lncurses" \ + --with-named-thread-libs="-lpthread" \ + --with-unix-socket-path=/var/lib/mysql/mysql.sock \ + --with-archive-storage-engine \ + --with-vio \ + --with-ndbcluster \ + --without-readline \ + --without-libedit \ + --without-docs +# --with-mysqlfs +# --with-ndb-test --with-ndb-docs + +# NOTE that /var/lib/mysql/mysql.sock is symlink to real sock file +# (it defaults to first cluster but user may change it to whatever +# cluster it wants) + +echo -e "all:\ninstall:\nclean:\nlink_sources:\n" > libmysqld/examples/Makefile + +%{__make} \ + benchdir=$RPM_BUILD_ROOT%{_datadir}/sql-bench + +%{__make} -C Docs mysql.info + +%install +rm -rf $RPM_BUILD_ROOT +install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,sysconfig,mysql} \ + $RPM_BUILD_ROOT/var/{log/{archiv,}/mysql,lib/mysql} \ + $RPM_BUILD_ROOT{%{_infodir},%{_mysqlhome}} + +%if %{with bdb} +install -d $RPM_BUILD_ROOT/var/lib/mysql/bdb/{log,tmp} +%endif + +# Make install +%{__make} install \ + DESTDIR=$RPM_BUILD_ROOT \ + benchdir=%{_datadir}/sql-bench \ + libsdir=/tmp +# libsdir is to avoid installing innodb static libs in $RPM_BUILD_ROOT../libs + +install Docs/mysql.info $RPM_BUILD_ROOT%{_infodir} + +install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql +install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/mysql +install %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mysql +# This is template for configuration file which is created after 'service mysql init' +install %{SOURCE4} mysqld.conf +install %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/clusters.conf +touch $RPM_BUILD_ROOT/var/log/mysql/{err,log,update} + +# remove innodb directives from mysqld.conf if mysqld is configured without +%if !%{with innodb} + echo "BASE_TABLETYPE=MyISAM" >> $RPM_BUILD_ROOT/etc/sysconfig/mysql + cp mysqld.conf mysqld.tmp + awk 'BEGIN { RS="\n\n" } !/innodb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf +%endif + +# remove berkeley-db directives from mysqld.conf if mysqld is configured without +%if !%{with bdb} + cp mysqld.conf mysqld.tmp + awk 'BEGIN { RS="\n\n" } !/bdb/ { printf("%s\n\n", $0) }' < mysqld.tmp > mysqld.conf +%endif + +install mysqld.conf $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.conf +install %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/mysql/mysql-client.conf + +# NDB +install %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb +install %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb +install %{SOURCE9} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-mgm +install %{SOURCE10} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-mgm +install %{SOURCE11} $RPM_BUILD_ROOT/etc/rc.d/init.d/mysql-ndb-cpc +install %{SOURCE12} $RPM_BUILD_ROOT/etc/sysconfig/mysql-ndb-cpc +# remove .txt variants for .sys messages +rm -f $RPM_BUILD_ROOT%{_datadir}/%{name}/*/*.txt + +mv -f $RPM_BUILD_ROOT%{_libdir}/mysql/lib* $RPM_BUILD_ROOT%{_libdir} +sed -i -e 's,%{_libdir}/mysql,%{_libdir},' $RPM_BUILD_ROOT{%{_libdir}/libmysqlclient{,_r}.la,%{_bindir}/mysql_config} + +# remove known unpackaged files +rm -rf $RPM_BUILD_ROOT%{_prefix}/mysql-test + +# rename not to be so generic name +mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}comp_err +mv $RPM_BUILD_ROOT%{_bindir}/{,mysql_}resolve_stack_dump + +# not useful without -debug build +%{!?debug:rm -f $RPM_BUILD_ROOT%{_bindir}/mysql_resolve_stack_dump} +# generate symbols file, so one can generate backtrace using it +# mysql_resolve_stack_dump -s %{_datadir}/mysql/mysqld.sym -n mysqld.stack. +# http://dev.mysql.com/doc/refman/5.0/en/using-stack-trace.html +%{?debug:nm -n $RPM_BUILD_ROOT%{_sbindir}/mysqld > $RPM_BUILD_ROOT%{_datadir}/mysql/mysqld.sym} + +# functionality in initscript / rpm +rm $RPM_BUILD_ROOT%{_bindir}/mysql_create_system_tables +rm $RPM_BUILD_ROOT%{_bindir}/mysql_install_db +rm $RPM_BUILD_ROOT%{_bindir}/mysqld_safe +rm $RPM_BUILD_ROOT%{_bindir}/mysqld_multi +rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqld_{multi,safe}* +rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql-log-rotate +rm $RPM_BUILD_ROOT%{_datadir}/%{name}/mysql.server +rm $RPM_BUILD_ROOT%{_datadir}/%{name}/binary-configure +rm $RPM_BUILD_ROOT%{_datadir}/%{name}/errmsg.txt +rm $RPM_BUILD_ROOT%{_bindir}/mysql_waitpid +rm $RPM_BUILD_ROOT%{_mandir}/man1/mysql.server* +rm $RPM_BUILD_ROOT%{_mandir}/man1/safe_mysqld* +rm $RPM_BUILD_ROOT%{_mandir}/man1/mysqlman.1* + +# in %doc +rm $RPM_BUILD_ROOT%{_datadir}/%{name}/*.{ini,cnf} + +%clean +rm -rf $RPM_BUILD_ROOT + +%pre +%groupadd -g 89 mysql +%useradd -u 89 -d %{_mysqlhome} -s /bin/sh -g mysql -c "MySQL Server" mysql + +%post +[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 +/sbin/chkconfig --add mysql +%service mysql restart + +%preun +if [ "$1" = "0" ]; then + %service -q mysql stop + /sbin/chkconfig --del mysql +fi + +%postun +[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1 +if [ "$1" = "0" ]; then + %userremove mysql + %groupremove mysql +fi + +%post ndb +/sbin/chkconfig --add mysql-ndb +%service mysql-ndb restart "mysql NDB engine" + +%preun ndb +if [ "$1" = "0" ]; then + %service mysql-ndb stop + /sbin/chkconfig --del mysql-ndb +fi + +%post ndb-mgm +/sbin/chkconfig --add mysql-ndb-mgm +%service mysql-ndb-mgm restart "mysql NDB management node" + +%preun ndb-mgm +if [ "$1" = "0" ]; then + %service mysql-ndb-mgm stop + /sbin/chkconfig --del mysql-ndb-mgm +fi + +%post ndb-cpc +/sbin/chkconfig --add mysql-ndb-cpc +%service mysql-ndb-cpc restart "mysql NDB CPC" + +%preun ndb-cpc +if [ "$1" = "0" ]; then + %service mysql-ndb-cpc stop + /sbin/chkconfig --del mysql-ndb-cpc +fi + +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig + +%triggerpostun -- mysql <= 4.0.20-2 +# For clusters in /etc/mysql/clusters.conf +if [ -f "/etc/sysconfig/mysql" ]; then + . /etc/sysconfig/mysql + if [ -n "$MYSQL_DB_CLUSTERS" ]; then + for i in "$MYSQL_DB_CLUSTERS"; do + echo "$i/mysqld.conf=$i" >> /etc/mysql/clusters.conf + done + echo "# Do not use **obsolete** option MYSQL_DB_CLUSTERS" >> /etc/sysconfig/mysql + echo "# USE /etc/mysql/clusters.conf instead" >> /etc/sysconfig/mysql + echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/mysql/clusters.conf." + echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/mysql/clusters.conf." + fi +fi + +%triggerpostun -- mysql <= 4.1.1 +# For better compatibility with prevoius versions: +for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/mysql/clusters.conf); do + if echo "$config" | grep -q '^/'; then + config_file="$config" + elif [ -f "/etc/mysql/$config" ]; then + config_file=/etc/mysql/$config + else + clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/mysql/clusters.conf) + if [ -z "$clusterdir" ]; then + echo >&2 "Can't find cluster dir for $config!" + echo >&2 "Please remove extra (leading) spaces from /etc/mysql/clusters.conf" + exit 1 + fi + config_file="$clusterdir/mysqld.conf" + fi + + if [ ! -f "$config_file" ]; then + echo >&2 "Lost myself! Please report this (with above errors, if any) to http://bugs.pld-linux.org/" + exit 1 + fi + echo "Adding option old-passwords to config: $config_file" + echo "If you want to use new, better passwords - remove it" + + # sed magic to add 'old-passwords' to [mysqld] section + sed -i -e '/./{H;$!d;};x;/\[mysqld\]/{ + a + a; Compatibility options: + aold-passwords + } + ' $config_file +done + +%banner -e %{name}-4.1.x <<-EOF + If you want to use new help tables in MySQL 4.1.x then You'll need to import the help data: + mysql -u mysql mysql < %{_datadir}/%{name}/fill_help_tables.sql +EOF +#' + +%files +%defattr(644,root,root,755) +%doc support-files/*.cnf support-files/*.ini +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/mysql +%attr(754,root,root) /etc/rc.d/init.d/mysql +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql +%attr(640,root,mysql) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/clusters.conf +%attr(755,root,root) %{_bindir}/innochecksum +%attr(755,root,root) %{_bindir}/myisamchk +%attr(755,root,root) %{_bindir}/myisamlog +%attr(755,root,root) %{_bindir}/myisampack +%attr(755,root,root) %{_bindir}/mysql_fix_privilege_tables +%attr(755,root,root) %{_bindir}/my_print_defaults +%attr(755,root,root) %{_bindir}/mysql_upgrade +%attr(755,root,root) %{_bindir}/mysql_upgrade_shell +%attr(755,root,root) %{_sbindir}/mysqld +%{_mandir}/man1/mysql_fix_privilege_tables.1* +%{_mandir}/man1/mysqld.1* +%{_mandir}/man1/myisamchk.1* +%{_mandir}/man1/myisamlog.1* +%{_mandir}/man1/myisampack.1* +%{_mandir}/man1/mysql_upgrade.1* +%{_mandir}/man8/mysqld.8* + +%attr(700,mysql,mysql) %{_mysqlhome} +# root:root is proper here for AC mysql.rpm while mysql:mysql is potential security hole +%attr(751,root,root) /var/lib/mysql +%attr(750,mysql,mysql) %dir /var/log/mysql +%attr(750,mysql,mysql) %dir /var/log/archiv/mysql +%attr(640,mysql,mysql) %ghost /var/log/mysql/* + +%{_infodir}/mysql.info* +# This is template for configuration file which is created after 'service mysql init' +%{_datadir}/mysql/mysqld.conf +%{_datadir}/mysql/english +%{_datadir}/mysql/fill_help_tables.sql +%{_datadir}/mysql/mysql_fix_privilege_tables.sql +%lang(cs) %{_datadir}/mysql/czech +%lang(da) %{_datadir}/mysql/danish +%lang(de) %{_datadir}/mysql/german +%lang(el) %{_datadir}/mysql/greek +%lang(es) %{_datadir}/mysql/spanish +%lang(et) %{_datadir}/mysql/estonian +%lang(fr) %{_datadir}/mysql/french +%lang(hu) %{_datadir}/mysql/hungarian +%lang(it) %{_datadir}/mysql/italian +%lang(ja) %{_datadir}/mysql/japanese +%lang(ko) %{_datadir}/mysql/korean +%lang(nl) %{_datadir}/mysql/dutch +%lang(nb) %{_datadir}/mysql/norwegian +%lang(nn) %{_datadir}/mysql/norwegian-ny +%lang(pl) %{_datadir}/mysql/polish +%lang(pt) %{_datadir}/mysql/portuguese +%lang(ro) %{_datadir}/mysql/romanian +%lang(ru) %{_datadir}/mysql/russian +%lang(sr) %{_datadir}/mysql/serbian +%lang(sk) %{_datadir}/mysql/slovak +%lang(sv) %{_datadir}/mysql/swedish +%lang(uk) %{_datadir}/mysql/ukrainian + +%files charsets +%defattr(644,root,root,755) +%dir %{_datadir}/mysql +%{_datadir}/mysql/charsets + +%files extras +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/msql2mysql +%attr(755,root,root) %{_bindir}/myisam_ftdump +%attr(755,root,root) %{_bindir}/mysql_secure_installation +%attr(755,root,root) %{_bindir}/mysql_tzinfo_to_sql +%attr(755,root,root) %{_bindir}/mysqlcheck +%attr(755,root,root) %{_bindir}/perror +%attr(755,root,root) %{_bindir}/replace +%attr(755,root,root) %{_bindir}/resolveip +%{_mandir}/man1/msql2mysql.1* +%{_mandir}/man1/myisam_ftdump.1* +%{_mandir}/man1/mysqlcheck.1* +%{_mandir}/man1/perror.1* +%{_mandir}/man1/replace.1* + +%files extras-perl +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/mysql_convert_table_format +%attr(755,root,root) %{_bindir}/mysql_explain_log +%attr(755,root,root) %{_bindir}/mysql_find_rows +%attr(755,root,root) %{_bindir}/mysql_fix_extensions +%attr(755,root,root) %{_bindir}/mysql_setpermission +%attr(755,root,root) %{_bindir}/mysql_tableinfo +%attr(755,root,root) %{_bindir}/mysql_zap +%attr(755,root,root) %{_bindir}/mysqlaccess +%attr(755,root,root) %{_bindir}/mysqldumpslow +%attr(755,root,root) %{_bindir}/mysqlhotcopy +%{_mandir}/man1/mysql_explain_log.1* +%{_mandir}/man1/mysql_zap.1* +%{_mandir}/man1/mysqlaccess.1* +%{_mandir}/man1/mysqlhotcopy.1* + +%files client +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/mysql +%attr(755,root,root) %{_bindir}/mysqlbug +%attr(755,root,root) %{_bindir}/mysqldump +%attr(755,root,root) %{_bindir}/mysqlimport +%attr(755,root,root) %{_sbindir}/mysqlmanager* +%attr(755,root,root) %{_bindir}/mysqlshow +%attr(755,root,root) %{_bindir}/mysqlbinlog +%attr(755,root,root) %{_bindir}/mysqladmin +%attr(755,root,root) %{_bindir}/mysqltest* +%{_mandir}/man1/mysql.1* +%{_mandir}/man1/mysqladmin.1* +%{_mandir}/man1/mysqldump.1* +%{_mandir}/man1/mysqlshow.1* +%{_mandir}/man1/mysqlmanager.1* +%{_mandir}/man1/mysqlbinlog.1* +%{_mandir}/man1/mysqlimport.1* +%{_mandir}/man8/mysqlmanager.8* + +%files libs +%defattr(644,root,root,755) +%doc EXCEPTIONS-CLIENT +%attr(755,root,root) %{_libdir}/lib*.so.*.* +%attr(751,root,root) %dir %{_sysconfdir}/mysql +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mysql/mysql-client.conf + +%files devel +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/mysql_config +%attr(755,root,root) %{_libdir}/lib*.so +%attr(755,root,root) %{_bindir}/*comp_err +%{?debug:%attr(755,root,root) %{_bindir}/*resolve_stack_dump} +%{?debug:%{_datadir}/mysql/mysqld.sym} +%{_libdir}/lib*.la +%{_libdir}/lib*[!tr].a +%{_includedir}/mysql +%{_mandir}/man1/mysql_config.1* + +%files static +%defattr(644,root,root,755) +%{_libdir}/lib*[tr].a + +%files bench +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/mysqltest +%attr(755,root,root) %{_bindir}/mysql_client_test +%dir %{_datadir}/sql-bench +%{_datadir}/sql-bench/[CDRl]* +%attr(755,root,root) %{_datadir}/sql-bench/[bcgirst]* +# wrong dir? +%{_datadir}/mysql/mi_test_all.res +%attr(755,root,root) %{_datadir}/mysql/mi_test_all + +#%files doc +#%defattr(644,root,root,755) +#%doc Docs/manual.html Docs/manual_toc.html + +%files ndb +%defattr(644,root,root,755) +%attr(755,root,root) %{_sbindir}/ndbd +%attr(754,root,root) /etc/rc.d/init.d/mysql-ndb +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb + +%files ndb-client +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/ndb_* +%attr(755,root,root) %{_datadir}/mysql/ndb_size.tmpl + +%files ndb-mgm +%defattr(644,root,root,755) +%attr(755,root,root) %{_sbindir}/ndb_mgmd +%attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-mgm +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-mgm + +%files ndb-cpc +%defattr(644,root,root,755) +%attr(755,root,root) %{_sbindir}/ndb_cpcd +%attr(754,root,root) /etc/rc.d/init.d/mysql-ndb-cpc +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mysql-ndb-cpc diff --git a/mysql.sysconfig b/mysql.sysconfig new file mode 100644 index 0000000..969188b --- /dev/null +++ b/mysql.sysconfig @@ -0,0 +1,24 @@ +# Customized settings for mysql + +# Define nice level for mysql +SERVICE_RUN_NICE_LEVEL="+0" + +# Be compatible with RA layout (not supported) +MYSQL_RA_COMPAT="no" + +# For clusters configuration look into /etc/mysql/clusters.conf +# Don't use **obsolete** MYSQL_DB_CLUSTERS option + +# Seconds to wait for fully initialized mysqld to start. mysqld takes longer to +# start when it has to replay innodb logs, or create innodb pools at startup +#MYSQL_START_WAIT_TIME=15 + +# Seconds to wait for mysqld to terminate on shutdown. If timeout is exceeded +# shutdown is considered failed +#MYSQL_STOP_WAIT_TIME=900 + +# Skip automatic mysqld restarts invoked from rpm installs. +#RPM_SKIP_AUTO_RESTART=yes + +# Any option passed directly to mysqld on startup. +#MYSQL_OPTIONS="" diff --git a/mysqld.conf b/mysqld.conf new file mode 100644 index 0000000..7d7997f --- /dev/null +++ b/mysqld.conf @@ -0,0 +1,209 @@ +; The MySQL server configuration file. +; One can use all long options that the mysqld supports. +; Run mysqld with --help to get a whole list of available options +; $Id$ + +; This section must be the first! +[mysqld] +datadir = @clusterdir@/mysqldb/db +pid-file = @clusterdir@/mysqldb/mysql.pid +socket = @clusterdir@/mysqldb/mysql.sock +port = 3306 +user = mysql + +;character-set-server=latin2 +;collation-server=latin2_general_ci +;skip-character-set-client-handshake + +; set default charset +;default-character-set = latin1 + +; Use passwords compatible with old 4.0 mysqld +;old-passwords + +; Don't use system locking +skip-locking + +; Don't listen on a TCP/IP port at all. This is a security enhancement, +; if all processes that need to connect to mysqld run on the same host. +; All interaction with mysqld must be made via Unix sockets. +skip-networking + +; IP address to bind to +;bind-address=127.0.0.1 + +; no dns +;skip-name-resolve + +; Emergency option. Use only if you really need this. +;skip-grant-tables + +; skip startup of slave +;skip-slave-start + +; slave setup +;relay-log=slave-relay-bin +;master-host=master +;master-user=replica +;master-port=3306 +;master-password=replica + +; master does not ignore them, but we do +;replicate-ignore-db=mysql +;replicate-ignore-db=test + +;replicate-rewrite-db=delfi->delfi_ro + +; Replication Master Server (default) +; binary logging is required for replication +;log-bin=mysql-bin + +; Normally, a slave does not log to its own binary log any updates that are +; received from a master server. This option tells the slave to log the updates +; performed by its SQL thread to its own binary log. For this option to have +; any effect, the slave must also be started with the --log-bin option to +; enable binary logging. --log-slave-updates is used when you want to chain +; replication servers. +;log-slave-updates + +; required unique id between 1 and 2^32 - 1 +; defaults to 1 if master-host is not set but will not function as a master if omitted +;server-id=2 + +; databases to be included in binlog +;binlog-do-db=db1 +; or excluded +;binlog-ignore-db=mysql +;binlog-ignore-db=test + +; Log slow queries +;log-slow-queries = /var/log/mysql/slow.log + +; Log connections and queries. It slows down MySQL so it's disabled by default +;log = /var/log/mysql/log + +; Log all updates. +;log-update = /var/log/mysql/update +; Log some extra information to update log +;log-long-format + +; Language +;language = polish + +; Path for temporary files. Several paths may be specified, separated by a +; colon (:), in this case they are used in a round-robin fashion. +;tmpdir = /var/tmp + +; +; Internal server variables +; + +;set-variable = back_log=5 +;set-variable = connect_timeout=5 +;set-variable = delayed_insert_timeout=300 +;set-variable = delayed_insert_limit=100 +;set-variable = flush_time=0 +;set-variable = join_buffer_size=131072 +;set-variable = key_buffer_size=8M +;set-variable = read_rnd_buffer_size=256K +;set-variable = read_buffer_size=132K +;set-variable = long_query_time=10 +;set-variable = max_allowed_packet=1M +;set-variable = max_connections=100 +;set-variable = max_user_connections=0 +;set-variable = max_connect_errors=10 +;set-variable = max_delayed_insert_threads=20 +;set-variable = delayed_queue_size=1000 +;set-variable = max_join_size=4294967295 +;set-variable = max_sort_length=1024 +;set-variable = max_write_lock_count=4294967295 +;set-variable = net_buffer_length=16384 +;set-variable = record_buffer=131072 +;set-variable = sort_buffer_size=2M +;set-variable = table_cache=64 +;set-variable = tmp_table_size=1M +;set-variable = max_heap_table_size=32M +;set-variable = thread_cache_size=16 +;set-variable = thread_stack=65536 +; Try number of CPU's*2 +;set-variable = thread_concurrency=8 +;set-variable = wait_timeout=28800 +;set-variable = query_cache_size=8M +;set-variable = query_cache_limit=1M + +; replication local log +;set-variable = max_relay_log_size=256M +; max size of master binlog files +;set-variable = max_binlog_size=256M + + +; +; MyISAM tables options +; + +; Don't flush key buffers between writes for any MyISAM +; set this if you have dedicated slave server where writes aren't important +;delay-key-write-for-all-tables + +; Repair automatically on open if the table wasn't closed properly. +myisam-recover +; +;set-variable = myisam_sort_buffer_size=4M + + + +; +; InnoDB tables options (see MySQL manual) +; +;skip-innodb + +; these are actual defaults (as of 5.0.26) +innodb_data_home_dir = @clusterdir@/mysqldb/db +innodb_data_file_path = ibdata1:10M:autoextend +set-variable = innodb_mirrored_log_groups=1 +innodb_log_group_home_dir = @clusterdir@/mysqldb/db +set-variable = innodb_log_files_in_group=2 +set-variable = innodb_log_file_size=5M +set-variable = innodb_log_buffer_size=1M + +;innodb_flush_log_at_trx_commit=1 +;innodb_log_arch_dir = @clusterdir@/innodb/log +;innodb_log_archive=0 +;set-variable = innodb_buffer_pool_size=80M +;set-variable = innodb_additional_mem_pool_size=10M +;set-variable = innodb_file_io_threads=4 +;set-variable = innodb_lock_wait_timeout=50 + + +; +; Berkeley DB tables options +; +; Don't use berkeley db (saves a lot of memory) +;skip-bdb + +;bdb-home = @clusterdir@/db +;bdb-log-dir = @clusterdir@/bdb/log +;bdb-tmpdir = @clusterdir@/bdb/tmp + + +;bdb-lock-detect = DEFAULT + +; Don't synchronously flush logs. +;bdb-no-sync + +; Don't start Berkeley DB in recover mode. +;bdb-no-recover + +; Start Berkeley DB in multi-process mode (Don't use `DB_PRIVATE' +; when initializing Berkeley DB +;bdb-shared-data + +;set-variable = bdb_max_lock=1000 + + +; used for logs rotation +[mysqladmin] +user = mysql_logrotate +password = + +; vim:syn=dosini -- 2.44.0