Table des matières
mysqld
sous gdb
mysqld
Cet appendice vous aidera à porter MySQL vers un autre système d'exploitation. Vérifiez d'abord la liste des systèmes supportés avant toute chose. See Section 2.1.1, « Systèmes d'exploitation supportés par MySQL ». Si vous avez crée un nouveau port de MySQL, merci de nous en avertir pour que nous puissions le lister ici et sur notre site web (http://www.mysql.com/), pour le recommander aux autres utilisateurs.
Note : Si vous créez un nouveau port de MySQL, vous êtes libre de le copier et le distribuer sous la licence GPL, mais cela ne signifie pas que vous êtes détenteur de droits sur MySQL.
Une bibliothèque de threads Posix qui fonctionne est requise pour
le serveur. Pour Solaris 2.5 nous utilisons Sun PThreads (le support
natif des threads de la version 2.4 et plus ancienne n'est pas assez
bonne) et sur Linux nous utilisons LinuxThreads
de Xavier Leroy, <Xavier.Leroy@inria.fr>
.
La partie la plus difficile du port vers une nouvelle variante Unix
ne bénéficiant pas d'un bon support natif des threads est
probablement le port de MIT-pthreads
. Voyez
mit-pthreads/README
et Programming POSIX
Threads
(http://www.humanfactor.com/pthreads/).
La distribution MySQL inclut une version patchée des Pthreads de
Provenzano de MIT (voyez la page web des Pthreads MIT
http://www.mit.edu/afs/sipb/project/pthreads/
et une introduction à la programmation sur
http://www.mit.edu:8001/people/proven/IAP_2000/).
Cela peut être utilisé pour certains systèmes d'exploitation à
qui n'ont pas les threads POSIX. See Section 2.4.5, « Notes relatives aux MIT-pthreads
».
Il est aussi possible d'utiliser un autre paquet de threads au niveau utilisateur nommé FSU Pthreads (Voir http://moss.csc.ncsu.edu/~mueller/pthreads/). Cette implémentation est utilisée pour le port vers SCO.
Consultez les programmes thr_lock.c
et
thr_alarm.c
dans le dossier
mysys
pour quelques tests/exemples de ces
problèmes.
Le serveur et le client on besoin d'un compilateur C++ fonctionnel
(nous utilisons gcc
et avons essayé SPARCworks).
Un autre compilateur connu maintenant pour fonctionner est Irix
cc
.
Pour ne compiler que le client, utilisez ./configure
--without-server
.
Il n'y a actuellement aucun support pour ne compiler que le serveur, et il n'est pas prévu d'en ajouter un à moins que quelqu'un n'ait une bonne raison de le faire.
Si vous voulez ou avez besoin de changer un fichier
Makefile
ou le script de configuration vous
aurez besoin d'avoir Automake et Autoconf. See
Section 2.4.3, « Installer à partir de l'arbre source de développement ».
Toutes les étapes dont vous avez besoin pour reconstruire le tout à partir des fichiers de base.
/bin/rm */.deps/*.P /bin/rm -f config.cache aclocal autoheader aclocal automake autoconf ./configure --with-debug=full --prefix='votre dossier installation' # les fichiers make générés plus haut ont besoin de GNU make 3.75 ou plus récent. # (appelé gmake ci-dessous) gmake clean all install init-db
Si vous rencontrez des problèmes avec un nouveau port, vois devrez faire du débogage de MySQL ! See Section D.1, « Déboguer un serveur MySQL ».
Note : avant de commencer à
déboguer mysqld
, faites d'abord fonctionner les
programmes de tests mysys/thr_alarm
et
mysys/thr_lock
. Cela assurera que votre
installation des threads a une chance de fonctionner !
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.