OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Michael van Elst
Root: /e/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-web, openpkg-src Date: 04-Dec-2002 11:02:44
Branch: HEAD Handle: 2002120410024201
Modified files:
openpkg-src/mysql my.cnf mysql.spec rc.mysql
openpkg-web news.txt
Log:
config + maintenance tasks
Summary:
Revision Changes Path
1.3 +63 -2 openpkg-src/mysql/my.cnf
1.35 +48 -6 openpkg-src/mysql/mysql.spec
1.4 +43 -11 openpkg-src/mysql/rc.mysql
1.2183 +1 -0 openpkg-web/news.txt
____________________________________________________________________________
Index: openpkg-src/mysql/my.cnf
============================================================
$ cvs diff -u -r1.2 -r1.3 my.cnf
--- openpkg-src/mysql/my.cnf 7 Feb 2002 14:21:02 -0000 1.2
+++ openpkg-src/mysql/my.cnf 4 Dec 2002 10:02:43 -0000 1.3
@@ -1,10 +1,71 @@
-[mysqld]
+[safe_mysqld]
datadir = @l_prefix@/var/mysql/db
socket = @l_prefix@/var/mysql/mysqld.sock
set-variable = pid_file=@l_prefix@/var/mysql/mysqld.pid
set-variable = max_connections=1000
port = 3306
-user = @l_musr@
+user = @l_rusr@
basedir = @l_prefix@
+
+# Logfile destinations - you must update rc.mysql accordingly
+log = @l_prefix@/var/mysql/common.log
+log-update = @l_prefix@/var/mysql/update.log
+
+# these are the most important tuning parameters for mysqld
+set-variable = key_buffer_size=16M
+set-variable = table_cache=64
+
+# change these parameters if special problems occur
+set-variable = join_buffer_size=1M
+set-variable = max_connections=1000
+set-variable = max_connect_errors=10
+set-variable = max_delayed_threads=20
+set-variable = max_heap_table_size=16777216
+set-variable = max_sort_length=1024
+set-variable = max_user_connections=0
+set-variable = record_buffer=131072
+set-variable = record_rnd_buffer=131072
+set-variable = sort_buffer=2M
+set-variable = key_buffer=1M
+set-variable = tmp_table_size=32M
+
+#
+# BERKELEY DB
+#
+
+# memory parameters - set these to values <> 0 if bdb
+# tables are used
+set-variable = bdb_cache_size=@mysql_bdb_cache_size@
+set-variable = bdb_log_buffer_size=@mysql_bdb_log_buffer_size@
+set-variable = bdb_max_lock=@mysql_bdb_max_lock@
+
+#
+# INNOBASE
+#
+
+# The common part of the directory path for all InnoDB datafiles.
+# default is the mysql data directory
+#innodb_data_home_dir =
+
+# Tablespaces
+# specify a list of pathtodatafile:sizespecification separated
+# by semicolon. The last datafile can have options
+# - :autoextend increment datafile in 8M chunks
+# - :max:sizespecification max size of the datafile
+#innodb_data_file_path=@innodb_data_file_path@
+
+# Tunings
+# Set buffer pool size to 50 -80 % of your computer's memory
+# Set the log file size to about 25 % of the buffer pool size
+# Set ..flush_log_at_trx_commit to 0 if you can afford losing
+# some last transactions
+# Set innodb_lock_wait_timeout to bail out of external deadlocks
+#set-variable = innodb_buffer_pool_size=70M
+#set-variable = innodb_additional_mem_pool_size=2M
+#set-variable = innodb_log_files_in_group=3
+#set-variable = innodb_log_file_size=20M
+#set-variable = innodb_log_buffer_size=8M
+#innodb_flush_log_at_trx_commit=1
+#set-variable = innodb_lock_wait_timeout=50
Index: openpkg-src/mysql/mysql.spec
============================================================
$ cvs diff -u -r1.34 -r1.35 mysql.spec
--- openpkg-src/mysql/mysql.spec 14 Oct 2002 18:38:27 -0000 1.34
+++ openpkg-src/mysql/mysql.spec 4 Dec 2002 10:02:43 -0000 1.35
@@ -36,6 +36,22 @@
%define with_gemini no
%endif
+%if %{with_berkeleydb} == "yes"
+%define mysql_bdb_cache_size 8M
+%define mysql_bdb_log_buffer_size 32k
+%define mysql_bdb_max_lock 10000
+%else
+%define mysql_bdb_cache_size 0
+%define mysql_bdb_log_buffer_size 0
+%define mysql_bdb_max_lock 0
+%endif
+
+%if %{with_berkeleydb} == "yes" || %{with_innobase} == "yes" || %{with_gemini} ==
"yes"
+%define mysqld mysqld
+%else
+%define mysqld mysqld-max
+%endif
+
# package information
Name: mysql
Summary: Fast Relational Database Management System
@@ -46,13 +62,14 @@
Group: Database
License: GPL
Version: 3.23.53
-Release: 20021014
+Release: 20021204
# list of sources
Source0:
http://sunsite.informatik.rwth-aachen.de/mysql/Downloads/MySQL-3.23/mysql-%{version}.tar.gz
Source1: my.cnf
Source2: rc.mysql
Patch0: mysql.patch
+Patch1: mysql-initdb.patch
# build information
Prefix: %{l_prefix}
@@ -78,6 +95,7 @@
%prep
%setup -q
%patch0 -p1
+ %patch1 -p1
%build
# determine additional configure options
@@ -118,6 +136,11 @@
%install
rm -rf $RPM_BUILD_ROOT
+ # patch init script
+ %{l_shtool} subst \
+ -e 's;@l_prefix@;%{l_prefix};g' \
+ $RPM_BUILD_ROOT%{l_prefix}/scripts/mysql_install_db.sh
+
# perform standard installation procedure
%{l_make} %{l_mflags} install \
AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" \
@@ -140,13 +163,23 @@
%{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/mysql
%{l_shtool} install -c -m 644 \
-e 's;@l_prefix@;%{l_prefix};g' \
- -e 's;@l_musr@;%{l_musr};g' \
+ -e 's;@l_rusr@;%{l_rusr};g' \
+ -e 's;@mysql_bdb_cache_size@;%{mysql_bdb_cache_size};g' \
+ -e 's;@mysql_bdb_log_buffer_size@;%{mysql_bdb_log_buffer_size};g' \
+ -e 's;@mysql_bdb_max_lock@;%{mysql_bdb_max_lock};g' \
%{SOURCE my.cnf} \
$RPM_BUILD_ROOT%{l_prefix}/etc/mysql/
+ %{l_shtool} install -c -m 600 \
+ %{SOURCE my.pwd} \
+ $RPM_BUILD_ROOT%{l_prefix}/etc/mysql/
# install run-command script
%{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
- %{l_shtool} install -c -m 755 -e 's;@l_prefix@;%{l_prefix};g' \
+ %{l_shtool} install -c -m 755 \
+ -e 's;@l_prefix@;%{l_prefix};g' \
+ -e 's;@l_rusr@;%{l_rusr};g' \
+ -e 's;@l_rgrp@;%{l_rgrp};g' \
+ -e 's;@mysqld@;%{mysqld};g' \
%{SOURCE rc.mysql} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
# make sure the database directory exists
@@ -155,7 +188,8 @@
# determine the package files
%{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
%{l_files_std} \
- '%config %{l_prefix}/etc/mysql/my.cnf'
+ '%config %{l_prefix}/etc/mysql/my.cnf' \
+ '%config %{l_prefix}/etc/mysql/my.pwd'
%files -f files
@@ -164,5 +198,13 @@
%post
$RPM_INSTALL_PREFIX/bin/mysql_install_db
- chown -R %{l_musr}:%{l_mgrp} $RPM_INSTALL_PREFIX/var/mysql/
-
+ chown %{l_rusr}:%{l_rgrp} \
+ $RPM_INSTALL_PREFIX/etc/mysql/my.cnf \
+ $RPM_INSTALL_PREFIX/etc/mysql/my.pwd
+ chown -R %{l_rusr}:%{l_rgrp} $RPM_INSTALL_PREFIX/var/mysql/
+ # display information about next steps
+ ( echo "The MySQL package includes automated maintenance procedures"
+ echo "that require administrator access to the database. For this"
+ echo "to work you must keep a copy (plain text) of the administrator"
+ echo "account in '$RPM_INSTALL_PREFIX/etc/mysql/my.pwd'."
+ ) | %{l_rpmtool} msg -b -t notice
Index: openpkg-src/mysql/rc.mysql
============================================================
$ cvs diff -u -r1.3 -r1.4 rc.mysql
--- openpkg-src/mysql/rc.mysql 19 Apr 2002 09:11:52 -0000 1.3
+++ openpkg-src/mysql/rc.mysql 4 Dec 2002 10:02:43 -0000 1.4
@@ -5,21 +5,53 @@
%config
mysql_enable="yes"
+ mysql_pwd_file=@l_prefix@/etc/mysql/my.pwd
+ mysql_log_prolog="true"
+ mysql_log_epilog="true"
+ mysql_log_numfiles="10"
+ mysql_log_minsize="1M"
+ mysql_log_complevel="9"
+ #
+ # same files as in my.cnf
+ mysql_pid_file=@l_prefix@/var/mysql/mysqld.pid
+ mysql_log_err=@l_prefix@/var/mysql/mysqld.err
+ mysql_log_common=@l_prefix@/var/mysql/common.log
+ mysql_log_update=@l_prefix@/var/mysql/update.log
-%start -p 200 -u root
+%start -p 200 -u @l_rusr@
opServiceEnabled mysql || exit 0
- @l_prefix@/bin/safe_mysqld >/dev/null 2>&1 &
+ cd @l_prefix@
+ @l_prefix@/bin/safe_mysqld >/dev/null 2>&1 \
+ --mysqld=@mysqld@ \
+ --pid-file="$mysql_pid_file" \
+ --err-log="$mysql_log_err" &
-%stop -p 200 -u root
+%stop -p 200 -u @l_rusr@
opServiceEnabled mysql || exit 0
- # standard (but would require admin password!)
- #@l_prefix@/bin/mysqladmin shutdown
- # alternative (does not require admin password)
- kill -TERM `cat @l_prefix@/var/mysql/\`hostname\`.pid`
+ @l_prefix@/bin/mysqladmin \
+ --defaults-extra-file=${mysql_pwd_file} \
+ shutdown
-%restart -u root
+%restart -u @l_rusr@
opServiceEnabled mysql || exit 0
- kill -TERM `cat @l_prefix@/var/mysql/\`hostname\`.pid`
- sleep 2
- @l_prefix@/bin/safe_mysqld >/dev/null 2>&1 &
+ cd @l_prefix@
+ @l_prefix@/bin/mysqladmin \
+ --defaults-extra-file=${mysql_pwd_file} \
+ shutdown
+ @l_prefix@/bin/safe_mysqld >/dev/null 2>&1 \
+ --mysqld=@mysqld@ \
+ --pid-file="$mysql_pid_file" \
+ --err-log="$mysql_log_err" &
+%daily -u @l_rusr@
+ opServiceEnabled mysql || exit 0
+ shtool rotate -f \
+ -n${mysql_log_numfiles} -s${mysql_log_minsize} -d \
+ -z${mysql_log_complevel} -o@l_rusr@ -g@l_rgrp@ -m644 \
+ -P "${mysql_log_prolog}" \
+ -E "@l_prefix@/bin/mysqladmin \
+ --defaults-extra-file=${mysql_pwd_file} \
+ flush-logs ; ${mysql_log_epilog}" \
+ ${mysql_log_common} \
+ ${mysql_log_update} \
+ ${mysql_log_err}
Index: openpkg-web/news.txt
============================================================
$ cvs diff -u -r1.2182 -r1.2183 news.txt
--- openpkg-web/news.txt 4 Dec 2002 09:48:08 -0000 1.2182
+++ openpkg-web/news.txt 4 Dec 2002 10:02:42 -0000 1.2183
@@ -1,3 +1,4 @@
+04-Dec-2002: Upgraded package: P<mysql-3.23.53-20021204>
04-Dec-2002: New package: P<cfengine-2.0.5pre2-20021204>
04-Dec-2002: Upgraded package: P<tidy-20021202-20021204>
04-Dec-2002: Upgraded package: P<mozilla-1.2.1-20021204>
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [EMAIL PROTECTED]