next up previous contents


2.1 Installation unter Debian 3.0

Nachfolgend möchte ich die Installation eines Binär-Paketes der aktuellen Version 4.0.13 beschreiben. Im konkreten Fall steht auf dem Rechner Debian 3.0 zur Verfügung. Wir gehen zudem davon aus, dass bereits eine frühere Version von MySQL (z.B. 3.23.x bei Debian 3.0) aufgespielt worden ist.

Image tip.png Damit alle Linux-Distributionen eine Chance erhalten, verwenden wir nicht die Debian-Packages, sondern das Standard-Binär-Paket ab MySQL-Homepage.

Bevor wir die Installation der Version 4.0.13 vornehmen, sollten wir einen gestarteten MySQL-Server mit herunterfahren.

Image tip.png Debian-User sollten zudem die MySQL-Debian-Packages mit 'dselect' auf 'Hold' setzen.

Nach dem Download müssen wir mit root-Rechten einige Dinge tun, für die wir besser gleich ein Skript schreiben:

mv mysql-standard-4.0.13-pc-linux-i686.tar.gz /usr/local
cd /usr/local
tar xvfz mysql-standard-4.0.13-pc-linux-i686.tar.gz
ln -s mysql-standard-4.0.13-pc-linux-i686 mysql
cd mysql
chown -R root .
chown -R mysql data
chgrp -R mysql .
cd /etc
ln -s ./mysql/my.cnf my.cnf
cd init.d

Ok, wir können das auch Zeile für Zeile eingeben, aber ein Shell-Skript ist trotzdem eleganter. Die Installation ist nun beinahe abgeschlossen. Im Verzeichnis '/usr/local/mysql' finden wir die Datei 'INSTALL-BINARY', welche eine Binär-Installation recht gut beschreibt, wenn auch aus dem Blickwinkel, dass zuvor noch kein MySQL installiert wurde. Die wichtigsten Zeilen der Datei hier zur Information:

shell> groupadd mysql
shell> useradd -g mysql mysql
shell> cd /usr/local
shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
shell> ln -s full-path-to-mysql-VERSION-OS mysql
shell> cd mysql
shell> scripts/mysql_install_db
shell> chown -R root  .
shell> chown -R mysql data
shell> chgrp -R mysql .
shell> bin/mysqld_safe --user=mysql &

Wichtig für uns ist die Zeile 'scripts/mysql/install_db'. Mit dieser Zeile kann die Passwort- bzw. User-Datenbank 'mysql' komplett neu aufgebaut werden. Es ist zudem möglich, den gewünschten Installationspfad für die MySQL-Datenbanken mit anzugeben:

scripts/mysql_install_db --datadir=/mnt/archiv

Danach müssten noch die Rechte für das entsprechende Verzeichnis auf den User und die Gruppe 'mysql' gelegt werden. Und damit beim Start von MySQL der gewünschte Datenpfad (in unserem Beispiel '/mnt/archiv') auch gefunden wird, müssen wir in /etc/my.cnf den gewünschten Eintrag vornehmen:

[mysqld]
datadir=/mnt/archiv

Da wir bei Debian 3.0 aber i.d.R. bereits eine MySQL-Installation vorfinden, möchte ich einen anderen Weg vorschlagen. Im Prinzip genügt es, die beiden Dateien '/etc/mysql/my.cnf' sowie '/etc/init.d/mysql' mit einigen Änderungen zu versehen, damit die Version 4.0.13 bereits beim Hochfahren des Systems sauber und automatisch gestartet werden kann. Zunächst ändern wir die Datei 'my.cnf' wie folgt:

# aus 'language = /usr/share/mysql/english' wird
language = /usr/local/mysql/share/mysql/english

Image tip.png Achtung: Ohne den Link von '/etc/mysql/my.cnf' nach '/etc/my.cnf' übernimmt MySQL 4.0.13 unter Debian 3.0 keine Einstellungen. Wir erstellen deshalb einen Link:

ln -s /etc/mysql/my.cnf /etc/my.cnf

Weiter müssen wir die Datei '/etc/init.d/mysql' an einigen Stellen anpassen:

...
#aus 'test -x /usr/sbin/mysqld || exit 0' wird
test -x /usr/local/mysql/mysqld_safe || exit 0
...
# aus 'MYADMIN="/usr/bin/mysqladmin -u root ..."' wird 
MYADMIN="/usr/local/mysql/bin/mysqladmin -u root ..." 
...
# Start daemon
# aus '/usr/sbin/mysqld ...' wird (in zwei Zeilen):
cd /usr/local/mysql
./bin/mysqld_safe > /dev/null 2>&1 &
...

Überall, wo '...' steht, muss die Datei '/etc/init.d/mysql' gemäss der Vorlage belassen werden. Damit ist die Installation von MySQL 4.0.13 abgeschlossen; wir können nun den MySQL-Server ganz normal starten, genauso wie beim Starten von Debian 3.0 nun anstelle der Version 3.23.x die Version 4.0.13 hochgefahren wird.



next up previous contents

Dokument als PDF anzeigen -- © 2003-06-15 by Urs Pfister, CH-8057 Zürich