Dieser Abschnitt ist sehr unvollständig, da mir nicht alle Betriebssysteme
zur Verfügung stehen. Hilfe ist hier sehr willkommen!
- Solaris
Solaris tar unterstützt keine langen Dateinamen, weshalb es nicht möglich
ist die Distribution zu entpacken. Aus diesem Grund ist es notwendig
GNU-tar
zu verwenden.
Eine Vorcompilierte Version für Solaris kann unter
http://www.tcx.se/Downloads bezogen werden.
Sun Native-Threads funktionieren erst ab Version 2.5 oder größer, weshalb für
frühere Versionen das MIT-pthread Paket verwendet werden muß.
Wenn man den Sun Workshop 4.2 Compiler verwendet kann
./configure wie folgt
verwendet werden:
CC=cc CFLAGS=-Xa -fast -xstrconst -mt \
CXX=CC CXXFLAGS=-xsb -noex -fast -mt \
./configure
Ferner muß das configure-Script editiert werden. Hierbei muß die Zeile:
#if !defined(__STDC__) || __STDC__ != 1
nach
#if !defined(__STDC__)
geändert werden.
- SunOS 4
- Linux - alle Versionen
- Linux-x86
- Vor der Konfiguration von MySQL sollten die LinuxThreads installiert sein.
MySQL benötigt libc 5.4.12 oder größer. glibc Version 2.0.6 oder größer
sollte ebenfalls funktionieren. Es gab diverse Probleme mit den glibc-RPMs.
Wenn hierbei also Probleme auftreten, sollten vorhandene Updates installiert
werden.
- Bei manchen älteren Distributionen erzeugt configure einen Fehler der Art:
Syntax error in sched.h. Change _P to __P in the
/usr/include/sched.h file.
See the Installation chapter in the Reference Manual
In diesem Fall sollte wie beschrieben zu dem _P Macro ein zusätzlicher
Unterstrich angefügt werden __P.
- Folgende Warnungen beim Compilieren können ignoriert werden:
mysqld.cc -o objs-thread/mysqld.o
mysqld.cc: In function void init_signals():
mysqld.cc:315: warning: assignment of negative value -1 to long unsigned int
mysqld.cc: In function Void * signal_hand(void *):
mysqld.cc:346: warning: assignment of negative value -1 to long unsigned int
- Wenn man unter Debian GNU/Linux MySQL automatisch starten möchte, sollten
folgende Einstellungen vorgenommen werden:
cp scripts/mysql.server /etc/init.d/mysql.server
/usr/sbin/update-rc.d mysql.server defaults 99
- Wenn mysqld bei Start einen core dump erzeugt, kann dies daran liegen, daß
eine alte /lib/libc.a installiert ist. Diese sollte dann umbenannt werden,
sql/mysqld gelöscht und ein neues make install durchgeführt werden. Diese Probleme traten bei
einigen Slackware-Installationen auf. Bei RedHat 5.0 kann ein ähnliches
Problem auftreten, bei manchen glibc-Versionen ebenfalls.
- RedHat 5.0
- Um MySQL unter RedHat verwenden zu können muß midestens glibc-2.0.6-9 und
glibc-devl-2.0.6-9 installiert sein, da die glibc 2.0.5 einen Fehler bei
pthread_key_create enthält. Wird die glibc 2.0.5 verwendet, muß die statisch
gelinkte Binary-Distribution von MySQL verwendet werden.
- Will man MySQL selbst compilieren wird die aktuelle Version der LinuxThreads
benötigt.
Die Version steht unter http://www.tcx.se/Downloads/Linux bereit.
- Wird eine falsche glibc oder LinuxThreads verwendet, führt dies dazu, daß
MySQL nach jeder Verbindung abstürzt. Zum Beispiel würde MySQL nach dem
Befehl mysqladmin version abstürzen.
- Ein anderes Symptom ist das MySQL nach dem Start abstürzt. Dies kann ggf.
behoben werden durch die Option: LDFLAGS=-static ./configure
Bei manchen RedHat 5.0 - Systemen funktioniert dies wiederum nur ohne die
Option: LDFLAGS=-static
Es ist bekannt, daß dieser Fehler auch mit neueren Versionen der glibc
Auftritt (z.B. glibc 2.0.7-4).
Für die Quell-Distribution von glibc 2.0.7 steht ein Patch unter
http://www.tcx.se/Download/Linux/glibc-2.0.5-total-patch.tgz
zur Verfügung.
Wenn danach immer noch Abstürze auftreten, sollten man sich die aktuelle
Binary-Version von MySQL downloaden. Diese ist statisch compiliert und
sollte auf allen Linux-Systemen laufen.
- Um MySQL zu debuggen, sollte die aktuelle Dokumentation des
Original-Referenz-Manuals zu Rate gezogen werden, da dieser Bereich noch nicht als
Übersetzung vorliegt.
- Linux-Sparc
- Bei einigen Implementationen weist readdir_r einen Fehler auf. Dies zeigt
sich dadurch, daß bei dem Befehl SHOW DATABASES immer ein leerer
Ergebnissatz zurückgegeben wird.
Dies kann behoben werden, indem HAVE_READDIR_R in
config.h entfernt wird.
- Andere Probleme können durch patchen der Linux-Installation behoben werden.
Unter:http://www.tcx.se/patch/Linux-sparc-2.0.30.diff
steht der entsprechende Patch zur Verfügung. Dieser Patch ist für die Linux-
Distribution sparclinux-2.0.30.tgz.gz, welche auf
vger.rutgers.edu bereitgestellt wird.
Ferner wird LinuxThreads 0.6 oder höher benötigt.
- Linux-Alpha
Das Hauptprobleme hierbei sind die LinuxThreads. Diese müssen erst gepatched
werden, da die RedHat-Distribution eine alte, fehlerhafte
LinuxThreads-Implementation
verwendet. Hier ist das Vorgehen:
- Die Sourcen der glibc2.5c von einer GNU Ftp-Site laden.
- Das File:
ftp://www.tcx.se/pub/mysql/linux/patched-glibc-linuxthreads-0.6.tgz
laden, und in das glibc ./linuxthreads - Verzeichnis kopieren.
- glibc konfigurieren und compilieren, aber nicht installieren!
- Die alte Version von /usr/lib/libpthread.a nach /usr/lib/libpthread.a-old
umbenennen.
- Die Datei glibc.../linuxthreads/libpthread.a nach
/usr/lib kopieren
- MySQL konfigurieren mittels:
CC=gcc CCFLAGS=-Dalpha_linux_port CXX=gcc CXXFLAGS=-O3 -Dalpha_linux_port ./configure
--prefix=/usr/local/mysql (alles in einer Zeile!)
- Danach versuchen, ob sich mysys/thr_lock und mysys/thr_alarm ohne
Probleme compilieren läßt und ob es funktioniert.
- mysqld neu compilieren
Die Details einer Installation auf folgenden Betriebssytemen ist im Original
Handbuch auf der Site
http://www.tcx.se beschrieben.
- Alpha-DEC-Unix
- Alpha-DEC-OSF1
- SGI-IRIX
- FreeBSD
- FreeBSD 3.0
- BSD/OS 2.X
- BSD/OS 3.X
- SCO
- IBM-AIX
- HP-UX
Für eine HP 9000/7xx/8xx mit HP-UX 9.x/10.x können die Binaries von MySQL
aus dem Softwarearchiv von HP bezogen werden. Um MySQL zu installieren,
gehen Sie wie folgt vor:
shell> /usr/sbin/swinstall -s /path/to/depot mysql.full
Danach befinden sich die Binaries in /opt/mysql und es wurden die
Startup-Dateien im Verzeichnis /sbin/init.d sowie
/sbin/rc2.d abgelegt.
- Win32