REFERENCE MYSQL
dernière mise à jour de la documentation : janvier 2013Preface | Informations générales | Installer MySQL | Tutoriels d'introduction | Utiliser les programmes MySQL | Administration du serveur | Réplication de MySQL | Optimisation de MySQL | MySQL Scripts clients et utilitaires | Structure du langage | Jeux de caractères et Unicode | Types de colonnes | Fonctions à utiliser dans les clauses SELECT et WHERE | . Syntaxe des commandes SQL | . Moteurs de tables MySQL et types de table | Le moteur de tables InnoDB | Introduction à MySQL Cluster | Introduction à MaxDB | Données spatiales avec MySQL | . Procédures stockées et fonctions | Déclencheurs | La base de données d'informations INFORMATION_SCHEMA | Mathématiques de précision | API MySQL | Pilotes MySQL | Gestion des erreurs avec MySQL | Etendre MySQL | Problèmes et erreurs communes | Port vers d'autres systèmes | Variables d'environnement | Expressions régulières MySQL | Index
Chapitre 2. Installer MySQL | ||
---|---|---|
Précédent | Suivant |
Table des matières
- 2.1. Notes générales à propos de l'installation
- 2.2. Installation standard rapide de MySQL
- 2.2.1. Installer MySQL sous Windows
- 2.2.2. Choisir un paquet d'installation
- 2.2.3. Installer MySQL avec l'assistant automatique
- 2.2.4. Installation de MySQL avec l'assistant
- 2.2.5. Utiliser l'assistant de configuration
- 2.2.6. Installer MySQL à partir d'une archive ZIP sans assistant
- 2.2.7. Extraction de l'archive d'installation
- 2.2.8. Créer un fichier d'options
- 2.2.9. Démarrer MySQL depuis la ligne de commande Windows
- 2.2.10. Tester son installation MySQL
- 2.2.11. Mettre à jour MySQL sous Windows
- 2.2.12. Installer MySQL sous Linux
- 2.2.13. Installer MySQL sur Mac OS X
- 2.2.14. Installer MySQL sur NetWare
- 2.3. Installer MySQL sur d'autres systèmes type Linux
- 2.4. Installation de MySQL avec une distribution source
- 2.4.1. Installation depuis les sources : présentation
- 2.4.2. Options habituelles de
configure
- 2.4.3. Installer à partir de l'arbre source de développement
- 2.4.4. Problèmes de compilation?
- 2.4.5. Notes relatives aux
MIT-pthreads
- 2.4.6. La distribution source Windows
- 2.4.7. Compiler les clients MySQL sous Windows
- 2.5. Procédure de post-installation
- 2.6. Changer de version de MySQL
- 2.6.1. Passer en de version 4.1 en version 5.0
- 2.6.2. Passer de la version 4.0 à la version 4.1
- 2.6.3. Passer de la version 3.23 à la version 4.0
- 2.6.4. Passer de la version 3.22 à la version 3.23
- 2.6.5. Passer de la version 3.21 à la version 3.22
- 2.6.6. Passer de la version 3.20 à la version 3.21
- 2.6.7. Mise à jour des tables de droits
- 2.6.8. Migrer depuis une autre architecture
- 2.7. Réduire de version de MySQL
- 2.8. Notes spécifiques aux systèmes d'exploitation
- 2.9. Commentaires sur l'installation de Perl
Ce chapitre décrit comment obtenir et installer MySQL :
Déterminez si votre plate-forme est supportée. Notez que tous les systèmes ne supportent pas MySQL de la même fa¸on. MySQL est plus robuste et efficace que sur d'autres. Voyez Section 2.1.1, « Systèmes d'exploitation supportés par MySQL » pour plus de détails.
Choisissez une distribution à installer. Plusieurs versions de MySQL sont disponibles, dans plusieurs formats. Vous pouvez choisir une version preparée avec des exécutables pré-compilés, ou bien une version source. En cas de doute, utilisez la version binaire. Nous fournissons aussi un accès public à notre serveur de développement pour tester le nouveau code. Pour déterminer quelle version et quel type utiliser, voyez Section 2.1.2, « Choisir votre version de MySQL ».
Téléchargez la distribution que vous souhaitez. Pour une liste de site sur lesquels vous pouvez télécharger MySQL, voyez Section 2.1.3, « Comment obtenir MySQL ? ». Vous pouvez vérifier l'intégrité de votre téléchargement en utilisant les instructions de Section 2.1.4, « Vérifier l'intégrité des paquets avec
MD5
ouGnuPG
».Installez la distribution. Pour les distributions binaires, voyez Section 2.3, « Installer MySQL sur d'autres systèmes type Linux ». Pour les distributions source, utilisez Section 2.4, « Installation de MySQL avec une distribution source ». Chaque jeu d'instruction inclut une section spécifique aux plate-formes.
Note : si vous envisagez de changer la version d'une installation existante de MySQL vers une nouvelle version, plutôt que d'installer MySQL pour la première fois, voyez la section Section 2.6, « Changer de version de MySQL » pour des informations sur les mises à jour, et sur les problèmes que vous pourriez rencontrer.
Si vous rencontrez les problèmes d'installation, voyez la section Section 2.8, « Notes spécifiques aux systèmes d'exploitation » pour des informations sur les solutions aux proiblèmes spécifiques des plates-formes.
Pour la procédure post-installation, voyez Section 2.5, « Procédure de post-installation ». Ces procédures s'appliquent aussi bien à la distribution binaire que la distribution source. Cette section décrit aussi comment sécuriser les comptes initiaux MySQL, qui n'ont pas de mot de passe jusqu'à ce que vous leur assigniez un.
Si vous voulez exécuter des scripts de tests MySQL, le support Perl de MySQL doit être disponible. See Section 2.9, « Commentaires sur l'installation de Perl ».
Avant d'installer MySQL, vous devez :
Déterminer si MySQL fonctionne ou pas sur votre plate-forme.
Choisir une distribution.
Télécharger la distribution et vérifier son intégrité.
Cette section contient les informations nécessaires pour réaliser ces étapes. Après cela, vous pouvez utiliser les autres instructions des autres chapitres, pour installer la distribution.
Nous utilisons GNU Autoconf
, alors il est
possible de porter MySQL sur tous les systèmes modernes qui
utilisent les threads Posix et un compilateur C++. Pour compiler
uniquement le client, un compilateur C++ est simplement
nécessaire. Nous utilisons et développons le logiciel
nous-mêmes, en commen¸ant par Sun Solaris (Versions 2.5 - 2.7)
et SuSE Linux version 7.x.
Notez que pour de nombreux systèmes d'exploitation, le support natif des threads ne fonctionne qu'avec les dernières versions. MySQL a été compilé avec succès sur les combinaisons système d'exploitation/paquet de threads suivants :
AIX 4.x, 5.x avec les threads natifs. See Section 2.8.5.3, « Notes relatives à IBM-AIX ».
Amiga.
BSDI 2.x avec le paquet
MIT-pthreads
. See Section 2.8.4.5, « Notes relatives aux versions 2.x de BSD/OS ».BSDI 3.0, 3.1 et 4.x avec les threads natifs. See Section 2.8.4.5, « Notes relatives aux versions 2.x de BSD/OS ».
DEC Unix 4.x avec les threads natifs. See Section 2.8.5.5, « Notes pour Alpha-DEC-UNIX (
Tru64
) ».FreeBSD 2.x avec le paquet
MIT-pthreads
. See Section 2.8.4.1, « Notes relatives à FreeBSD ».FreeBSD 3.x et 4.x avec les threads natifs. See Section 2.8.4.1, « Notes relatives à FreeBSD ».
FreeBSD 4.x avec
LinuxThreads
. See Section 2.8.4.1, « Notes relatives à FreeBSD ».HP-UX 10.20 avec les threads DCE ou avec le paquet
MIT-pthreads
. See Section 2.8.5.1, « Notes relatives à la version 10.20 de HP-UX ».HP-UX 11.x avec les threads natifs See Section 2.8.5.2, « HP-UX Version 11.x Notes ».
Linux 2.0+ avec
LinuxThreads
0.7.1+ ouglibc
2.0.7+. See Section 2.8.1, « Notes relatives à Linux (toutes versions) ».Mac OS X. See Section 2.8.2, « Notes relatives à Mac OS X ».
NetBSD 1.3/1.4 Intel et NetBSD 1.3 Alpha (requiert GNU make). See Section 2.8.4.2, « Notes concernant NetBSD ».
Novell NetWare 6.0. See Section 2.2.14, « Installer MySQL sur NetWare ».
OpenBSD > 2.5 avec les threads natifs. OpenBSD < 2.5 avec le paquet
MIT-pthreads
. See Section 2.8.4.3, « Notes relatives à OpenBSD 2.5 ».OS/2 Warp 3, FixPack 29 et OS/2 Warp 4, FixPack 4. See Section 2.8.6, « Notes relatives à OS/2 ».
SCO OpenServer avec un port récent du paquet FSU Pthreads. See Section 2.8.5.8, « Notes sur SCO ».
SCO UnixWare 7.1.x. See Section 2.8.5.9, « Notes sur SCO UnixWare Version 7.1.x ».
SGI Irix 6.x avec les threads natifs. See Section 2.8.5.7, « Notes relatives à SGI Irix ».
Solaris 2.5 et plus récent, avec les threads natifs sur SPARC et x86. See Section 2.8.3, « Notes pour Solaris ».
SunOS 4.x avec le paquet
MIT-pthreads
. See Section 2.8.3, « Notes pour Solaris ».Tru64 Unix
Windows 9x, Me, NT, 2000 et XP. See Section 2.2.1, « Installer MySQL sous Windows ».
Notez que toutes les plates-formes ne sont pas équipées de la même fa¸on pour faire fonctionner MySQL. Les capacités d'une plate-forme pour supporter de fortes charges avec MySQL est déterminé par ceci :
Stabilité générale de la bibliothèque de threads. Une plate-forme qui a une excellente réputation en général, mais une bibliothèque de threads instable, dont le code est utilisé par MySQL, même si le reste est parfait, fera de MySQL une application instable.
La capacité du noyau et/ou de la bibliothèque de threads de profiter des capacités multi-processeurs, symétrique ou pas. En d'autres termes, lorsqu'un processus crée un thread, il doit être possible pour ce thread de s'exécuter sur différents processeurs.
La capacité du noyau et/ou de la bibliothèque de threads de faire fonctionner de nombreux threads qui posent et lèvent des verrous mutex en peut de temps, fréquemment, sans changement de contexte excessif. En d'autres termes, si l'implémentation de
pthread_mutex_lock()
est trop soucieux du temps CPU, cela va ralentir sérieusement MySQL. Si ce problème n'est pas réglé, ajouter des processeurs supplémentaires va finalement ralentir MySQL.Performance et stabilité générale du système de fichiers.
La capacité du système d'exploitation de gérer de grands fichiers, et de le faire efficacement, si vos tables sont grandes.
Notre niveau d'expertise avec la plate-forme, chez MySQL AB. Si vous connaissons bien une plate-forme, vous pourront introduire des optimisations et des corrections spécifiques à la plate-forme, et activé lors de la compilation. Nous pouvons aussi fournir des conseils judicieux pour configurer votre système optimalement pour MySQL.
Le temps de tests que vous avons consacré à des configurations similaires, en interne.
Le nombre d'utilisateur de MySQL qui font fonctionner MySQL avec succès sur cette plate-forme, avec des configurations similaires. Si ce nombre est grand, les chances de rencontrer un problème spécifique sont faibles.
En se basant sur les critères précédents, les meilleures plates-formes pour MySQL sont x86 avec SuSE Linux 7.1, noyau 2.4, et ReiserFS (ou toute autre distribution Linux similaire) et SPARC avec Solaris 2.7 ou 2.8. FreeBSD vient en troisième, mais nous espérons bien le voir rejoindre le groupe de tête, une fois que la bibliothèque de threads sera améliorée. Nous espérons aussi être bientôt capables d'ajouter les autres plates-formes sur laquelle MySQL compile, et fonctionne correctement, mais pas toujours le bon niveau de stabilité et de performances. Cela réclame des efforts de notre part, en coopération avec les développeurs de ces plates-formes. Si vous êtes intéressés par l'amélioration de ces composants, et que vous êtes en position pour influencer le développement, demandez des instructions détaillées à MySQL en envoyant un email aux listes internes. See Section 1.4.1.1, « Les listes de diffusion de MySQL ».
Notez bien que la comparaison précédente ne signifie pas qu'un système d'exploitation est meilleur que l'autre, en général. Nous avons classé les systèmes en fonction de leur capacité à faire fonctionner un système MySQL, et nous nous limitons à cette comparaison. Avec cela en tête, le résultat de cette comparaison serait différent si nous y ajoutions d'autres problèmes. Et dans certains cas, la seule raison qui fait qu'un OS est meilleur que l'autre est parce que nous y avons consacré plus de temps, pour optimiser et tester. Nous nous bornons à exprimer notre point de vue pour vous aider à décider quelle plate-forme choisir pour votre serveur MySQL.
Lorsque vous vous préparez à installer MySQL, vous devez décider quelle version utiliser. Le développement de MySQL procède par série de versions, et vous pouvez prendre celle qui vous convient le mieux. Après avoir décidé de la version à installer, vous pouvez choisir le format de distribution : elles sont compilées ou au format source.
La première décision à prendre est de savoir si vous voulez utiliser la dernière version de développement ou la dernière version stable :
MySQL 5.0 est la nouvelle version de développement, et les nouvelles fonctionnalités sont activement développées. Jusque récemment, elle n'était disponible qu'en avant-première, sous BitKeeper. Une version alpha a été publiée depuis, pour permettre la diffusion large de la version, à des fins de tests.
MySQL 4.1 est la version de développement, qui propose de nouvelles fonctionnalités majeures. Elle est toujours en version alpha. Les sources et le binaire sont disponibles pour tests et développement.
MySQL 4.0 est la version stable courante, pour la production. Les nouvelles versions publiées sont des corrections de bogues. Aucune nouvelle fonctionnalité ne sera ajoutée, pour ne pas diminuer la stabilité du code.
MySQL 3.23 est l'ancienne version de production. Cette série est retirée, et les nouvelles versions ne feront que corriger les bogues critiques.
Nous ne croyons pas au gel complet d'une version, et cela nous laisse de la place pour les corrections de bogues et les fonctionnalités qui ``doivent être faites.'' ``Un peu gelé'' signifie que nous pourrions ajouter de petites touches, qui ``n'affecterons pas ce qui fonctionne déjà, presque sûrement.'' Naturellement, les corrections de bogues des séries précédentes se propage aux nouvelles versions.
En règle générale, si vous utilisez MySQL pour la première fois ou si vous essayer de le porter vers un système pour lequel il n'existe pas de distribution binaire, nous vous recommandons d'utiliser la dernière version stable (actuellement la version 4.0). Notez que toutes les versions de MySQL sont passées aux bancs de tests MySQL avant chaque sortie (même les versions de développement).
D'autre part, si vous utilisez un vieux système et que vous voulez procéder à une mise à jour, sans pour autant risquer de mettre à jour sans raison, vous devriez mettre à jour vers la dernière version de la même branche que celle que vous êtes en train d'utiliser (dans le cas où un numéro de version supérieur existe). Nous avons essayé de résoudre uniquement les bogues fatals et de produire des correctifs petits et sûrs pour cette version.
Si vous voulez utiliser de nouvelles versions qui ne sont pas présentes dans la version de production, vous pouvez utiliser la version de développement. Notez que les versions de développement ne sont pas aussi stables que les versions de production.
Si vous voulez utiliser les toutes dernières sources, qui contiennent tous les patches courants, et les corrections de bogues, vous pouvez utiliser notre entrepôt BitKeeper. Il n'y a pas de ``versions'' en tant que telle, mais des paquets, sur lesquels le code futur est basé.
La politique de nommage de MySQL utilise des numéros de
version qui consiste en trois nombres suivis d'un suffixe. Par
exemple, une version nommée
mysql-3.21.17-beta
doit être interprétée
de la fa¸on suivante :
Le premier nombre (
3
) décrit le format de fichier. Toutes les versions 3 ont le même format de fichier.Le second nombre (
21
) correspond au niveau de version. Normalement, il y a le choix entre deux d'entre eux. L'un correspond à la version/branche stable (actuellement23
) et l'autre se réfère à la branche de développement (actuellement4.0
). Normalement, les deux versions sont stables, mais la version de développement peut comporter des lacunes, manquer de documentation sur des nouvelles fonctionnalités, ou peut ne pas compiler sur certains systèmes.Le troisième nombre (
17
) est le numéro de version au sein du niveau de version. Celui-ci est incrémenté à chaque nouvelle publication. En temps normal, vous souhaiterez utiliser la dernière version du niveau de version que vous avez choisi.
Pour chaque modification mineure, le dernier nombre de la version est incrémenté. Lorsque les nouvelles fonctionnalités sont majeures, ou que des incompatibilités mineures apparaissent avec les anciennes versions, le deuxième chiffre est incrémenté. Lorsque le format de fichier change, le premier chiffre est incrémenté.
Les noms de versions inclut aussi un suffixe qui indique le niveau de stabilité de la version. Une série progresse avec différents suffixes, qui indique sa stabilité. Les suffixes possibles sont :
alpha
indique que la publication contient de grandes portions de nouveau code qui n'a pas été testé à 100%. Les bogues connus (d'ordinaire, il n'y en a aucun) doivent être documentés dans la section nouveautés. See Annexe C, Historique des changements MySQL. Il existe aussi de nouvelles commandes et extensions dans la plupart des versions alpha. Du développement actif qui inclut des changements majeurs dans le code peut concerner les versions alpha, mais tout sera testé avant de faire une publication. Il ne devrait pas y avoir de bogues connus dans les publications de MySQL.beta
signifie que tout le nouveau code a été testé. Aucune fonctionnalité majeure qui pourrait causer corruption du code n'est ajoutée. Il ne doit pas y avoir un seul bogue connu. Une version alpha passe enbeta
quand il n'y a pas eu de bogue fatal rapporté depuis au moins un mois et que nous ne prévoyons pas de nouvelle fonctionnalité qui pourrait corrompre d'anciennes commandes.gamma
est une version bêta qui existe depuis un certain temps et qui semble fonctionner correctement. Seulement des changements mineurs sont effectués. C'est ce que de nombreuses autres compagnies appellent une publication.S'il n'y a pas de suffixe, cela signifie que la version fonctionne depuis un certain temps sur différents sites avec aucun rapport de bogue autre que des bogues spécifiques à une plate-forme. Seuls des corrections critiques sont appliquées à la publication. C'est ce que l'on appelle une version stable.
MySQL utilise un schéma de nommage qui est légèrement différent des autres produits. En général, il est plutôt sûr d'utiliser une des versions qui est disponible depuis quelques semaines, sans avoir été remplacée par une nouvelle version de la même série.
Toutes les versions de MySQL passent par nos tests et bancs d'essais standards pour nous assurer qu'elles peuvent être utilisées sans danger. Les séries de tests s'améliorent en permanence car les tests standards sont étendus dans le temps pour traquer tous les bogues précédemment trouvées.
Notez bien que toutes les versions de MySQL ont été testées au moins avec :
Une batterie de tests internes
Le dossier
mysql-test
contient de nombreux cas de tests.Nous utilisons ces tests pour virtuellement tous les systèmes d'exploitation. Voyez Section 27.1.2, « Suite de test de MySQL » pour plus d'informations sur ces fichiers.
Les bancs de tests MySQL
Ils effectuent une série de requêtes communes. C'est aussi un test pour savoir si le dernier processus d'optimisation rend le code plus rapide. See Section 7.1.4, « La suite de tests MySQL ».
Le test
crash-me
Il tente de déterminer de quelles fonctionnalités disposent les bases de données et quelles en sont les limites. See Section 7.1.4, « La suite de tests MySQL ».
Un autre test provient du fait que nous avons la version la plus récente de MySQL dans notre propre environnement de production interne, sur au moins une machine. Nous avons plus de 100 Go de données à manipuler.
Après avoir choisi votre version de MySQL, il faut décider
si vous voulez utiliser les versions binaires ou source. Dans
la plupart des cas, vous choisirez une version binaire, si
elle existe pour votre plate-forme. Les distributions binaires
sont disponibles en format natif pour de nombreuses
plates-formes, comme les paquets RPM
de
Linux ou les paquets DMG
pour Mac OS X. Les
distributions ont aussi disponibles sous formes d'archives Zip
ou tar
compressées.
Les raisons de choisir une distribution binaires sont :
Les distributions binaires sont généralement plus faciles à installer que les distributions source.
Pour satisfaire différents niveaux de besoin, nous fournissons deux versions binaires : une version compilée avec des moteurs de stockage non-transactionnels (petits et rapides), et une version compilée avec les extensions les plus importantes, comme les transactions. Les deux versions sont compilées à partir des mêmes sources. Tous les clients natifs MySQL peuvent se connecter aux serveurs MySQL, quelque soit leur version.
La distribution MySQL maximale est suffixée avec
-max
et est configurée avec les mêmes options quemysqld-max
. See Section 5.1.2, «mysqld-max
, la version étendue du serveurmysqld
».Si vous voulez installer le
RPM
MySQL-Max
, vous devez commencer par installer leRPM
MySQL-server
.
Dans certaines circonstances, il est préférable d'installer MySQL à partir de la distribution source :
Vous voulez installer MySQL dans un dossier spécial. Les distributions standards sont ``prêtes à exécuter'' depuis n'importe quel dossier, mais vous voudrez peut être avoir plus de libertés pour dispatcher les composants de MySQL.
Vous voulez configurer
mysqld
avec certaines extensions qui ne font pas parties des distributions binaires. Voici les extensions les plus courantes, que vous souhaiterez utiliser :--with-innodb
(par défaut pour MySQL 4.0 et plus récent)--with-berkeley-db
(disponible pour quelques plates-formes)--with-raid
--with-libwrap
--with-named-z-libs
(disponible pour certains binaires)--with-debug[=full]
Vous devez configurez
mysqld
sans certaines fonctionnalités qui font partie de la configuration standard. Par exemple, les distributions sont normalement compilées avec le support de tous les jeux de caractères. Si vous voulez rendre le serveur MySQL plus compact, vous pouvez recompiler MySQL avec uniquement les jeux de caractères dont vous avez besoin.Si vous avez un compilateur spécial, comme
pgcc
, ou que vous voulez utiliser des options particulières de votre compilateur pour optimiser MySQL pour votre architecture. Les distributions binaires sont compilées avec les options qui doivent fonctionner sur une large gamme de processeurs.Vous voulez utiliser les toutes dernières versions de MySQL, issues du serveur BitKeeper, pour avoir accès à toutes les corrections de bugs archivées. Par exemple, si vous avez découvert un bug, le correctif sera archivé dans le serveur de sources, et vous pourrez y accéder là. Le correctif n'apparaîtra pas avant la prochaine publication de MySQL.
Vous voulez lire et modifier le code C et C++ de MySQL. Pour cela, obtenez une distribution source, car le code source est toujours le code ultime.
Les distributions sources contiennent plus de tests et d'exemples que les distributions binaires.
MySQL évolue rapidement ici, à MySQL AB, et nous voulons le partager avec les autres utilisateurs de MySQL. Nous essayons de faire une nouvelle version à chaque fois que nous avons implanté des fonctionnalités qui seront utiles à d'autres.
Nous essayons aussi d'aider les utilisateurs dont les requêtes sont faciles à programmer. Nous prenons en considération tout ce que nos clients nous demandent, et nous accordons une attention particulière à nos clients qui ont pris une licence e-mail étendue.
Personne n'est obligé de télécharger une nouvelle version. La sections News vous indiquera si la nouvelle version contient une fonctionnalité que vous attendez. See Annexe C, Historique des changements MySQL.
Nous utilisons la politique suivante, lors de la mise à jour de MySQL :
Pour chaque modification mineure, le dernier numéro de la chaîne de version est incrémenté. Lorsqu'il y a des nouvelles fonctionnalités importantes ou des incompatibilité mineures avec la version précédente, nous incrémentons le chiffre du milieu. Lorsque le format de fichier change, le premier numéro est incrémenté.
Des versions tables et testées sont publiées une à deux fois dans l'année, mais si de petits bogues apparaissent, une version qui ne va corriger que ces bogues sera publiée.
Des versions fonctionnelles avec des corrections de bogues pour les vieilles versions sont publiées toutes les 1 à 8 semaines.
Les distributions binaires de certaines plates-formes seront compilées par nos soins pour les versions majeures. D'autres personnes font des versions binaires pour d'autres systèmes, mais probablement moins fréquemment.
Nous rendons généralement public les correctifs, une fois que nous avons découverts de petits bogues. Ils sont postés sur le serveur de versions BitKeeper et seront ajoutés à la prochaine version.
Si il y a un bogue fatal dans une version, nous publierons une nouvelle version aussitôt que possible. Nous apprécions que les autres éditeurs fasse la même chose.
Nous mettons beaucoup d'efforts et de temps à la publication de version sans bugs. A notre connaissance, nous n'avons jamais publié une version de MySQL qui contienne un bug fatal connu et reproductible.
Un bug fatal est un problème qui fait planter MySQL en utilisation normale, fournit des réponses erronées à des requêtes classiques, ou a des problèmes de sécurité.
Nous documentons tous les problèmes ouverts, bugs et tout ce qui dépend des choix de conceptions. See Section 1.5.7, « Erreurs connues, et limitations de MySQL ».
Nous avons pour but de corriger tout ce qui peut être corrigé, sans risquer la stabilité des versions de MySQL. Dans certains cas, cela signifie que nous pouvons corriger une erreur dans la version de développement, mais pas dans la version stable. Naturellement, nous documentons ces problèmes, pour que les utilisateurs soient avertis.
Voici une description de notre processus de publication :
Nous surveillons les bugs sur les listes de support utilisateur, les listes externes et la base de données de bugs sur le site http://bugs.mysql.com/.
Tous les bugs rapportés pour les versions en production entrent dans la base de données des bugs.
Lorsque nous corrigeons un bug, nous essayons de réaliser un cas de test, que nous incluons dans notre système de tests, pour nous assurer que le bugs ne reviendra jamais (environ 90% des bugs ont des cas de tests).
Nous créons aussi des cas de tests pour toutes les nouvelles fonctionnalités que nous voulons ajouter à MySQL.
Avant de commencer à compiler une nouvelle version de MySQL, nous nous assurons que tous les bugs reproductibles pour les versions anciennes (3.23.x, 4.0.x, etc...) sont corrigés. Si le bug ne peut être corrigé (pour des raisons de choix de conception), nous le documentons dans le manuel. See Section 1.5.7, « Erreurs connues, et limitations de MySQL ».
Nous compilons MySQL sur toutes les plates-formes pour lesquelles nous distribuons des paquets binaires (plus de 15 plates-formes à ce jour), et nous exécutons notre suite de tests et notre suite de performances sur chacune d'entre elles.
Nous ne publions pas un paquet binaire sur une plate-forme pour laquelle la suite de test ou de performances échoue. Si c'est une erreur générale, nous la corrigeons, et nous recommen¸ons les tests sur toutes les plates-formes, à partir de zéro.
Si nous recevons, durant le temps de compilation et de tests qui peut prendre deux à trois jours, un rapport de bugs concernant un bug fatal (par exemple, un bogue qui crée un coredump), nous le corrigeons, et nous recommen¸ons le processus de tests.
Après avoir publié les paquets binaires sur http://www.mysql.com/, nous envoyons une annonce par email aux listes de diffusion. See Section 1.4.1.1, « Les listes de diffusion de MySQL ». Le message d'annonce contient une liste de toutes les changements de la version, et de tous les bugs connus. La section des problèmes connus, ‘
known problems
’, dans les notes de publications n'a été utilisé que dans quelques versions.Pour donner rapidement accès aux dernières fonctionnalités de MySQL, nous réalisons une publication de MySQL toutes les 4 à 5 semaines. http://downloads.mysql.com/snapshots.php.
Si, après une publication, nous recevons des rapports de bugs qui prouvent qu'il y a, malgré tout, un bug critique dans une version spécifique à une plate-forme, nous le corrigeons rapidement, et nous annon¸ons une version
'a'
pour la plate-forme. Grâce à notre large communauté d'utilisateurs, les problèmes sont trouvés rapidement.Nos résultats de bonne publication sont excellents. Dans les dernières 150 versions, nous avons dû reprendre la compilation moins de 10 fois (dans trois des cas, le bug était dû à
glibc
sur l'une de nos machines de tests, qu'il a été difficile de trouver.
MySQL AB, propose un jeu de distributions binaires de MySQL qui sont compilés sur nos machines, ou les machines auxquelles nos clients nous ont gracieusement donné accès.
En plus des versions binaires adaptées à chaque plate-forme,
(See Section 2.2, « Installation standard rapide de MySQL ».), nous
proposons aussi des distributions binaires au format
.tar.gz
.
Pour les distributions Windows, voyez Section 2.2.1, « Installer MySQL sous Windows ».
Ces distributions sont générées avec le script
Build-tools/Do-compile
qui compile le code
source, et crée l'archive tar.gz
en
utilisant le script
scripts/make_binary_distribution
.
Ces archives sont configurés et compilées avec les options
suivantes. Cette information peut aussi être obtenue en
lisant les variables COMP_ENV_INFO
et
CONFIGURE_LINE
dans le script
bin/mysqlbug
, disponible dans toutes les
distributions binaires tar
.
Les programmes suivants ont été compilés par les équipes de MySQL AB :
Linux 2.4.xx x86 avec
gcc
2.95.3 :CFLAGS="-O2 -mcpu=pentiumpro" CXX=gcc CXXFLAGS="-O2 -mcpu=pentiumpro -felide-constructors" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --disable-shared --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
Linux 2.4.xx Intel Itanium 2 avec
ecc
(Intel C++ Itanium Compiler 7.0) :CC=ecc CFLAGS="-O2 -tpp2 -ip -nolib_inline" CXX=ecc CXXFLAGS="-O2 -tpp2 -ip -nolib_inline" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile
Linux 2.4.xx Intel Itanium avec
ecc
(Intel C++ Itanium Compiler 7.0) :CC=ecc CFLAGS=-tpp1 CXX=ecc CXXFLAGS=-tpp1 ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile
Linux 2.4.xx alpha avec
ccc
(Compaq C V6.2-505 / Compaq C++ V6.3-006) :CC=ccc CFLAGS="-fast -arch generic" CXX=cxx CXXFLAGS="-fast -arch generic -noexceptions -nortti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-mysqld-ldflags=-non_shared --with-client-ldflags=-non_shared --disable-shared
Linux 2.x.xx ppc avec
gcc
2.95.4 :CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-embedded-server --with-innodb
Linux 2.4.xx s390 avec
gcc
2.95.3 :CFLAGS="-O2" CXX=gcc CXXFLAGS="-O2 -felide-constructors" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-client-ldflags=-all-static --with-mysqld-ldflags=-all-static
Linux 2.4.xx x86_64 (AMD64) avec
gcc
3.2.1 :CXX=gcc ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared
Sun Solaris 8 x86 avec
gcc
3.2.3 :CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-innodb
Sun Solaris 8 SPARC avec
gcc
3.2 :CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-z-libs=no --with-named-curses-libs=-lcurses --disable-shared
Sun Solaris 8 SPARC 64-bit avec
gcc
3.2 :CC=gcc CFLAGS="-O3 -m64 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -m64 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-z-libs=no --with-named-curses-libs=-lcurses --disable-shared
Sun Solaris 9 SPARC avec
gcc
2.95.3 :CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-curses-libs=-lcurses --disable-shared
Sun Solaris 9 SPARC avec
cc-5.0
(Sun Forte 5.0) :CC=cc-5.0 CXX=CC ASFLAGS="-xarch=v9" CFLAGS="-Xa -xstrconst -mt -D_FORTEC_ -xarch=v9" CXXFLAGS="-noex -mt -D_FORTEC_ -xarch=v9" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-z-libs=no --enable-thread-safe-client --disable-shared
IBM AIX 4.3.2 ppc avec
gcc
3.2.3 :CFLAGS="-O2 -mcpu=powerpc -Wa,-many " CXX=gcc CXXFLAGS="-O2 -mcpu=powerpc -Wa,-many -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --disable-shared
IBM AIX 4.3.3 ppc avec
xlC_r
(IBM Visual Age C/C++ 6.0) :CC=xlc_r CFLAGS="-ma -O2 -qstrict -qoptimize=2 -qmaxmem=8192" CXX=xlC_r CXXFLAGS ="-ma -O2 -qstrict -qoptimize=2 -qmaxmem=8192" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --disable-shared --with-innodb
IBM AIX 5.1.0 ppc avec
gcc
3.3 :CFLAGS="-O2 -mcpu=powerpc -Wa,-many" CXX=gcc CXXFLAGS="-O2 -mcpu=powerpc -Wa,-many -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --with-server-suffix="-pro" --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --disable-shared
IBM AIX 5.2.0 ppc avec
xlC_r
(IBM Visual Age C/C++ 6.0) :CC=xlc_r CFLAGS="-ma -O2 -qstrict -qoptimize=2 -qmaxmem=8192" CXX=xlC_r CXXFLAGS="-ma -O2 -qstrict -qoptimize=2 -qmaxmem=8192" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --disable-shared --with-embedded-server --with-innodb
HP-UX 10.20 pa-risc1.1 avec
gcc
3.1 :CFLAGS="-DHPUX -I/opt/dce/include -O3 -fPIC" CXX=gcc CXXFLAGS="-DHPUX -I/opt/dce /include -felide-constructors -fno-exceptions -fno-rtti -O3 -fPIC" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-pthread --with-named-thread-libs=-ldce --with-lib-ccflags=-fPIC --disable-shared
HP-UX 11.00 pa-risc avec
aCC
(HP ANSI C++ B3910B A.03.50) :CC=cc CXX=aCC CFLAGS=+DAportable CXXFLAGS=+DAportable ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-embedded-server --with-innodb
HP-UX 11.11 pa-risc2.0 64bit avec
aCC
(HP ANSI C++ B3910B A.03.33) :CC=cc CXX=aCC CFLAGS=+DD64 CXXFLAGS=+DD64 ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared
HP-UX 11.11 pa-risc2.0 32bit avec
aCC
(HP ANSI C++ B3910B A.03.33) :CC=cc CXX=aCC CFLAGS="+DAportable" CXXFLAGS="+DAportable" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-innodb
HP-UX 11.22 ia64 64bit avec
aCC
(HP aC++/ANSI C B3910B A.05.50) :CC=cc CXX=aCC CFLAGS="+DD64 +DSitanium2" CXXFLAGS="+DD64 +DSitanium2" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-embedded-server --with-innodb
Apple Mac OS X 10.2 powerpc avec
gcc
3.1 :CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared
FreeBSD 4.7 i386 avec
gcc
2.95.4 :CFLAGS=-DHAVE_BROKEN_REALPATH ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-z-libs=not-used --disable-shared
FreeBSD 4.7 i386 avec
LinuxThreads
etgcc
2.95.4 :CFLAGS="-DHAVE_BROKEN_REALPATH -D__USE_UNIX98 -D_REENTRANT -D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads" CXXFLAGS="-DHAVE_BROKEN_REALPATH -D__USE_UNIX98 -D_REENTRANT -D_THREAD_SAFE -I/usr/local/include/pthread/linuxthreads" ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --enable-thread-safe-client --enable-local-infile --enable-assembler --with-named-thread-libs="-DHAVE_GLIBC2_STYLE_GETHOSTBYNAME_R -D_THREAD_SAFE -I /usr/local/include/pthread/linuxthreads -L/usr/local/lib -llthread -llgcc_r" --disable-shared --with-embedded-server --with-innodb
QNX Neutrino 6.2.1 i386 avec
gcc
2.95.3qnx-nto 20010315 :CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared
Les paquets binaires suivants sont compilés sur des systèmes que des tiers prêtent gracieusement à MySQL AB. Notez que ces paquets sont fournis gracieusement. Comme MySQL AB n'a pas le contrôle complet sur ces systèmes, nous ne pouvons proposer qu'un support limité.
SCO Unix 3.2v5.0.6 i386 avec
gcc
2.95.3 :CFLAGS="-O3 -mpentium" LDFLAGS=-static CXX=gcc CXXFLAGS="-O3 -mpentium -felide-constructors" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --enable-thread-safe-client --disable-shared
SCO OpenUnix 8.0.0 i386 avec
CC
3.2 :CC=cc CFLAGS="-O" CXX=CC ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-named-z-libs=no --enable-thread-safe-client --disable-shared
Compaq Tru64 OSF/1 V5.1 732 alpha avec
cc/cxx
(Compaq C V6.3-029i / DIGITAL C++ V6.1-027) :CC="cc -pthread" CFLAGS="-O4 -ansi_alias -ansi_args -fast -inline speed -speculate all" CXX="cxx -pthread" CXXFLAGS="-O4 -ansi_alias -fast -inline speed -speculate all -noexceptions -nortti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --with-prefix=/usr/local/mysql --with-named-thread-libs="-lpthread -lmach -lexc -lc" --disable-shared --with-mysqld-ldflags=-all-static
SGI Irix 6.5 IP32 avec
gcc
3.0.1 :CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared
FreeBSD/sparc64 5.0 avec
gcc
3.2.1 :CFLAGS=-DHAVE_BROKEN_REALPATH ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --libexecdir=/usr/local/mysql/bin --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --disable-shared --with-innodb
Les options suivantes de compilations ont été utilisées pour les paquets binaires de MySQL, qui étaient fournis auparavant. Ces paquets ne sont plus mis à jours, mais les options de compilation sont conservées ici pour mémoire.
Linux 2.2.xx SPARC avec
egcs
1.1.2 :CC=gcc CFLAGS="-O3 -fno-omit-frame-pointer" CXX=gcc CXXFLAGS="-O3 -fno-omit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --disable-shared
Linux 2.2.x avec x686 avec
gcc
2.95.2 :CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --disable-shared --with-extra-charsets=complex
SunOS 4.1.4 2 sun4c avec
gcc
2.7.2.1 :CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors" ./configure --prefix=/usr/local/mysql --disable-shared --with-extra-charsets=complex --enable-assembler
SunOS 5.5.1 (et plus récents) sun4u avec
egcs
1.0.3a or 2.90.27 orgcc
2.95.2 et plus récents :CC=gcc CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/usr/local/mysql --with-low-memory --with-extra-charsets=complex --enable-assembler
SunOS 5.6 i86pc avec
gcc
2.8.1 :CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql --with-low-memory --with-extra-charsets=complex
BSDI BSD/OS 3.1 i386 avec
gcc
2.7.2.1 :CC=gcc CXX=gcc CXXFLAGS=-O ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex
BSDI BSD/OS 2.1 i386 avec
gcc
2.7.2 :CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex
AIX 2 4 avec
gcc
2.7.2.2 :CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql --with-extra-charsets=complex
Si vous avez des options plus optimales pour l'une des configurations précédemment listées, vous pouvez toujours nous en faire part sur la liste de distribution des développeurs. See Section 1.4.1.1, « Les listes de diffusion de MySQL ».
Les distributions RPM
antérieures à la
version 3.22 de MySQL sont fournies par nos utilisateurs. A
partir de la version 3.22, les RPM
sont
générés par nous chez MySQL AB.
Si vous voulez compiler une version de débogage de MySQL,
vous devez ajouter --with-debug
ou
--with-debug=full
aux lignes de
configurations précédentes et effacer les options
-fomit-frame-pointer
.
Visitez le site de MySQL (http://www.mysql.com/) pour des informations à propos de la version courante et les instructions de téléchargement.
Notre miroir principal est situé sur http://mirrors.sunsite.dk/mysql/.
Pour une liste complète et à jour des miroirs web/téléchargement de MySQL, voyez http://www.mysql.com/downloads/mirrors.html. Vous trouverez là des informations à propos des futurs miroirs et de quoi nous informer de la non-validité de l'un d'entre eux.
Une fois que vous avez téléchargé le paquet MySQL qui vous convient, et avant de l'installer, vous devriez vous assurer qu'il est intact, et n'a pas été altéré.
MySQL AB propose deux moyens de vérifier l'intégrité :
Signatures MD5
Signatures chiffrées avec
GnuPG
,GNU Privacy Guard
Pour les paquets
RPM
, le mécanisme de vérification d'intégrité intégré.
Les sections suivantes décrivent comment utiliser ces méthodes.
Dans le cas où vous vous apercevez que la somme de contrôle
MD5 checksum
ou la signature
GPG
ne correspond pas, essayez de
télécharger à nouveau le même paquet, éventuellement depuis
un autre miroir. Si vous échouez plusieurs fois à vérifier
l'intégrité du paquet, faites nous part de votre problème, en
incluant le nom complet du paquet désiré, et les sites de
téléchargement que vous avez utilisé. Envoyez nous un
courriel à l'adresse <webmaster@mysql.com>
ou
<build@mysql.com>
.
Une fois que vous avez téléchargé le paquet, vous devez vérifier si la somme de contrôle MD5 correspond à celle qui est disponibles sur le site de MySQL. Chaque paquet a une somme de contrôle individuelle, que vous pouvez obtenir avec la commande suivante :
shell> md5sum <paquet>
Exemple :
shell> md5sum mysql-standard-4.0.17-pc-linux-i686.tar.gz
60f5fe969d61c8f82e4f7f62657e1f06
mysql-standard-4.0.17-pc-linux-i686.tar.gz
Ainsi, vous devez vérifier si la somme de contrôle résultante correspond à celle qui est imprimée sur la page de téléchargement, en dessous du paquet téléchargé.
Notez que tous les systèmes d'exploitation ne supportent pas
la commande md5sum
: sur certains, elle
s'appelle simplement md5
, sur d'autre, elle
n'est pas du tout disponible. Sur Linux, elle a fait partie
des utilitaires texte GNU (GNU Text
Utilities)
, qui sont disponibles pour toute une
gamme de plates-formes. Vous pouvez télécharger le code
source sur le site
http://www.gnu.org/software/textutils/.
Si vous avez installé OpenSSL
, vous pouvez
utiliser la commande openssl md5
<paquet>
à la place. Une implémentation
DOS/Windows de la commande md5
est
disponible sur le site
http://www.fourmilab.ch/md5/.
Une méthode plus sûre pour vérifier l'intégrité d'un
paquet est d'utiliser la signatureGnuPG
.
C'est une méthode plus sûre que le MD5, mais elle requiert
un peu plus de travail.
Depuis MySQL 4.0.10 (Février 2003), MySQL AB utilise
GNU Privacy Guard
(GnuPG
), une alternative Open
Source
du très connu Pretty Good
Privacy
(PGP
) par Phil
Zimmermann. Voir
http://www.gnupg.org/.
La plupart des distributions Linux dispose d'une version de
GnuPG
installée par défaut. Pour plus de
détails sur OpenPGP
, voir
http://www.openpgp.org/.
Pour vérifier la signature d'un paquet spécifique, vous devez obtenir en premier lieu une copie de la clé publique GPG. Vous pouvez soit la copier/coller directement depuis ce manuel, ou la demander sur le serveur http://www.keyserver.net/.
Key ID: pub 1024D/5072E1F5 2003-02-03 MySQL Package signing key (www.mysql.com) <build@mysql.com> Fingerprint: A4A9 4068 76FC BD3C 4567 70C8 8C71 8D3B 5072 E1F5 Public Key (ASCII-armored): -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org mQGiBD4+owwRBAC14GIfUfCyEDSIePvEW3SAFUdJBtoQHH/nJKZyQT7h9bPlUWC3 RODjQReyCITRrdwyrKUGku2FmeVGwn2u2WmDMNABLnpprWPkBdCk96+OmSLN9brZ fw2vOUgCmYv2hW0hyDHuvYlQA/BThQoADgj8AW6/0Lo7V1W9/8VuHP0gQwCgvzV3 BqOxRznNCRCRxAuAuVztHRcEAJooQK1+iSiunZMYD1WufeXfshc57S/+yeJkegNW hxwR9pRWVArNYJdDRT+rf2RUe3vpquKNQU/hnEIUHJRQqYHo8gTxvxXNQc7fJYLV K2HtkrPbP72vwsEKMYhhr0eKCbtLGfls9krjJ6sBgACyP/Vb7hiPwxh6rDZ7ITnE kYpXBACmWpP8NJTkamEnPCia2ZoOHODANwpUkP43I7jsDmgtobZX9qnrAXw+uNDI QJEXM6FSbi0LLtZciNlYsafwAPEOMDKpMqAK6IyisNtPvaLd8lH0bPAnWqcyefep rv0sxxqUEMcM3o7wwgfN83POkDasDbs3pjwPhxvhz6//62zQJ7Q7TXlTUUwgUGFj a2FnZSBzaWduaW5nIGtleSAod3d3Lm15c3FsLmNvbSkgPGJ1aWxkQG15c3FsLmNv bT6IXQQTEQIAHQUCPj6jDAUJCWYBgAULBwoDBAMVAwIDFgIBAheAAAoJEIxxjTtQ cuH1cY4AnilUwTXn8MatQOiG0a/bPxrvK/gCAJ4oinSNZRYTnblChwFaazt7PF3q zIhMBBMRAgAMBQI+PqPRBYMJZgC7AAoJEElQ4SqycpHyJOEAn1mxHijft00bKXvu cSo/pECUmppiAJ41M9MRVj5VcdH/KN/KjRtW6tHFPYhMBBMRAgAMBQI+QoIDBYMJ YiKJAAoJELb1zU3GuiQ/lpEAoIhpp6BozKI8p6eaabzF5MlJH58pAKCu/ROofK8J Eg2aLos+5zEYrB/LsrkCDQQ+PqMdEAgA7+GJfxbMdY4wslPnjH9rF4N2qfWsEN/l xaZoJYc3a6M02WCnHl6ahT2/tBK2w1QI4YFteR47gCvtgb6O1JHffOo2HfLmRDRi Rjd1DTCHqeyX7CHhcghj/dNRlW2Z0l5QFEcmV9U0Vhp3aFfWC4Ujfs3LU+hkAWzE 7zaD5cH9J7yv/6xuZVw411x0h4UqsTcWMu0iM1BzELqX1DY7LwoPEb/O9Rkbf4fm Le11EzIaCa4PqARXQZc4dhSinMt6K3X4BrRsKTfozBu74F47D8Ilbf5vSYHbuE5p /1oIDznkg/p8kW+3FxuWrycciqFTcNz215yyX39LXFnlLzKUb/F5GwADBQf+Lwqq a8CGrRfsOAJxim63CHfty5mUc5rUSnTslGYEIOCR1BeQauyPZbPDsDD9MZ1ZaSaf anFvwFG6Llx9xkU7tzq+vKLoWkm4u5xf3vn55VjnSd1aQ9eQnUcXiL4cnBGoTbOW I39EcyzgslzBdC++MPjcQTcA7p6JUVsP6oAB3FQWg54tuUo0Ec8bsM8b3Ev42Lmu QT5NdKHGwHsXTPtl0klk4bQk4OajHsiy1BMahpT27jWjJlMiJc+IWJ0mghkKHt92 6s/ymfdf5HkdQ1cyvsz5tryVI3Fx78XeSYfQvuuwqp2H139pXGEkg0n6KdUOetdZ Whe70YGNPw1yjWJT1IhMBBgRAgAMBQI+PqMdBQkJZgGAAAoJEIxxjTtQcuH17p4A n3r1QpVC9yhnW2cSAjq+kr72GX0eAJ4295kl6NxYEuFApmr1+0uUq/SlsQ== =YJkx -----END PGP PUBLIC KEY BLOCK-----
Vous pouvez importer cette clé dans votre trousseau de clés
publiques GPG
avec la commande gpg
--import
. Par exemple, si vous avez sauvé la clé
dans un fichier appelé mysql_pubkey.asc
,
la commande d'importation est :
shell> gpg --import mysql_pubkey.asc
Voyez la documentation GPG
pour plus de
détails sur comment travailler avec les clés publiques.
Une fois que vous avez téléchargé et importé la clé
publique, vous pouvez télécharger le paquet MySQL et la
signature qui lui est associée, sur la même page. Le fichier
de signature a pour extension .asc
. Par
exemple :
Fichier de distribution Linux | mysql-standard-4.0.17-pc-linux-i686.tar.gz |
Fichier de signature | mysql-standard-4.0.17-pc-linux-i686.tar.gz.asc |
Assurez-vous que les deux fichiers sont stockés dans le même dossier, puis exécutez la commande suivante pour vérifier la signature du fichier :
shell> gpg --verify <package>.asc
Exemple :
shell> gpg --verify mysql-standard-4.0.17-pc-linux-i686.tar.gz.asc
gpg: Warning: using insecure memory!
gpg: Signature made Mon 03 Feb 2003 08:50:39 PM MET
using DSA key ID 5072E1F5
gpg: Good signature from
"MySQL Package signing key (www.mysql.com) <build@mysql.com>"
La mention "Good signature
" (bonne
signature) indique que le paquet est correct.
Pour les paquets RPM
, il n'y a pas de
signature séparée : les paquets RPM
disposent d'une signature GPG
intégrée,
et d'une somme de contrôle MD5
. Vous
pouvez les vérifier avec la commande suivante :
shell> rpm --checksig package_name.rpm
Exemple :
shell> rpm --checksig MySQL-server-4.0.10-0.i386.rpm
MySQL-server-4.0.10-0.i386.rpm: md5 gpg OK
Note : si vous utilisez
RPM
4.1 et qu'il se plaint que
(GPG) NOT OK (MISSING KEYS: GPG#5072e1f5)
(même si vous l'avez importé dans votre trousseau de clé),
vous devez alors importer la clé dans votre trousseau
RPM
d'abord. RPM
4.1
n'utilise pas votre trousseau de clé GPG (ni GPG lui-même),
car il entretient son propre trousseau de clé (car c'est une
application de niveau système, et que le trousseau de clé
est spécifique à chaque utilisateur). Pour importer la clé
publique mysql_pubkey.asc
MySQL dans
votre trousseau de clés RPM
, utilisez la
commande suivante :
shell> rpm --import mysql_pubkey.asc
Cette section décrit les répertoires par défaut crées en installant les distributions binaires et les distributions de sources.
Sous Windows, le dossier d'installation par défaut est
C:\mysql
, qui a la structure suivante :
Dossier | Contenu du dossier |
bin | Clients et serveur mysqld |
data | Fichiers de log et bases de données |
Docs | Documentation |
examples | Programmes d'exemple et scripts |
include | Fichiers d'inclusion (entêtes) |
lib | Bibliothèques |
scripts | Utilitaires |
share | Fichiers de messages d'erreur |
Les installations créée sur les distributions Linux
RPM
placent les fichiers dans les
sous-dossiers suivants :
Dossier | Contenu du dossier |
/usr/bin | Programmes clients |
/usr/sbin | serveur mysqld |
/var/lib/mysql | Fichiers de log et bases de données |
/usr/share/doc/packages | Documentation |
include | Fichiers d'inclusion (entêtes) |
lib | Bibliothèques |
/usr/share/mysql | Fichiers de messages d'erreurs et jeux de caractères |
sql-bench | Suites de tests |
Sous Unix, une archive tar
avec la
distribution binaire s'installe en la désarchivant dans le
dossier d'installation que vous voulez (typiquement le dossier
/usr/local/mysql
) et crée les dossiers
suivants au même endroit :
Dossier | Contenu du dossier |
bin | Clients et serveur mysqld |
data | Fichiers de log et bases de données |
docs | Documentation, historique |
include | Fichiers d'inclusion (entêtes) |
lib | Bibliothèques |
scripts | mysql_install_db |
share/mysql | Fichiers de messages d'erreur |
sql-bench | Suites de tests |
Une distribution source est installée après compilation. Par
défaut, les étapes d'installation installent les fichiers dans
/usr/local
, dans les sous-dossiers
suivants :
Dossier | Contenu du dossier |
bin | Programmes clients et scripts |
include/mysql | Fichiers d'inclusion (entêtes) |
info | Documentation |
lib/mysql | Bibliothèques |
libexec | The serveur mysqld |
share/mysql | Fichiers de messages d'erreur |
sql-bench | Suites de tests |
var | Fichiers de log et bases de données |
Dans le répertoire d'installation, les dispositions d'une installation des sources diffère d'une installation binaire des fa¸ons suivantes :
Le serveur
mysqld
est installé dans le répertoirelibexec
plutôt que dans le répertoirebin
.Le répertoire des données est
var
plutôt quedata
.mysql_install_db
est installé dans le répertoire/usr/local/bin
plutôt que dans/usr/local/mysql/scripts
.Le répertoire des fichier d'entête et les répertoires des bibliothèques sont
include/mysql
etlib/mysql
au lieu deinclude
etlib
.
Vous pouvez créer votre propre installation binaire à partir
d'une distribution de sources compilées en exécutant le script
scripts/make_binary_distribution
.
- 2.2.1. Installer MySQL sous Windows
- 2.2.2. Choisir un paquet d'installation
- 2.2.3. Installer MySQL avec l'assistant automatique
- 2.2.4. Installation de MySQL avec l'assistant
- 2.2.5. Utiliser l'assistant de configuration
- 2.2.6. Installer MySQL à partir d'une archive ZIP sans assistant
- 2.2.7. Extraction de l'archive d'installation
- 2.2.8. Créer un fichier d'options
- 2.2.9. Démarrer MySQL depuis la ligne de commande Windows
- 2.2.10. Tester son installation MySQL
- 2.2.11. Mettre à jour MySQL sous Windows
- 2.2.12. Installer MySQL sous Linux
- 2.2.13. Installer MySQL sur Mac OS X
- 2.2.14. Installer MySQL sur NetWare
Cette section couvre l'installation de MySQL sur les plate-formes pour lesquelles nous offrons un système d'installation spécifique. Cela s'appelle aussi une installation binaire. Toutefois, des installation binaires sont disponibles pour de nombreux autres plate-formes. Voyez Section 2.3, « Installer MySQL sur d'autres systèmes type Linux » pour des instructions génériques, qui s'appliqueront aussi à ces plate-formes.
Voyez Section 2.1, « Notes générales à propos de l'installation » pour plus d'informations sur les autres distributions binaires qui sont disponibles, et comment les obtenir.
Le processus d'installation de MySQL sous Windows est le suivant :
Installez la distribution.
Configurez un fichier d'options si nécessaire.
Sélectionnez un serveur à utiliser.
Lancez le serveur.
Assignez des mots de passe aux comptes MySQL initiaux.
MySQL pour Windows est disponible en deux formats :
La distribution binaire, qui contient un programme d'installation, qui se charge de placer tout ce qui est nécessaire.
La distribution source, qui contient tout le code et les fichiers de support pour compiler les exécutables avec VC++ 6.0.
En général, vous devriez utiliser la distribution binaire. Elle est plus facile à installer, et vous n'avez besoin d'aucun autre outil pour faire fonctionner MySQL.
Cette section décrit comment installer MySQL sur Windows en utilisant la distribution binaire. Pour installer une distribution source, voyez Section 2.4.6, « La distribution source Windows ».
Pour utiliser MySQL sur Windows, vous avez besoin de :
Un système d'exploitation 32 bits Windows, tels que 9x, Me, NT, 2000 ou XP. La famille NT (
Windows NT/2000/XP
) vous permet de faire fonctionner MySQL comme un service. See Section 2.2.9.1, « Lancer MySQL comme un service Windows ».Support du protocole TCP/IP.
Une copie de la distribution binaire MySQL pour Windows, qui peut être téléchargé sur http://www.mysql.com/downloads/. See Section 2.1.3, « Comment obtenir MySQL ? ».
Note : les fichiers de la distribution sont fournis dans un format compressé, et nous vous recommandons d'utiliser le client FTP approprié, avec des capacités de reprise sur erreur, pour éviter les corruptions d'archive au cours du téléchargement.
WinZip
ou un programmeZIP
pour décompresser l'archive.zip
.Assez d'espace sur votre disque pour décompresser l'archive, et pour créer les bases selon vos besoins.
Si vous envisagez d'utiliser MySQL via ODBC, vous aurez aussi besoin du pilote
MyODBC
. See Section 25.1.1.1, « Qu'est-ce que ODBC? ».Si vous avez besoin de table d'une taille supérieure à 4 Go, installez MySQL sur un système de fichier NTFS ou plus récent. N'oubliez pas d'utiliser les options
MAX_ROWS
etAVG_ROW_LENGTH
lorsque vous créez les tables. See Section 13.2.5, « Syntaxe deCREATE TABLE
».
Depuis MySQL 4.1.5, il y a trois paquets d'installation à choisir avant d'installer MySQL sur Windows. Les paquets sont les suivants :
The Essentials Package : ce paquet porte un nom du type
mysql-essential-4.1.9-win32.msi
et contient le minimum de fichiers nécessaire pour installer MySQL sur Windows, y compris l'assistant de configuration. Ce paquet n'inclut pas de composants optionnels tels que le serveur embarqué ou la suite de performances.The Complete Package : ce paquet porte un nom du type
mysql-4.1.9-win32.zip
et contient tous les fichiers nécessaires pour créer une installation Windows complète, y compris l'assistant de configuration. Ce paquet inclut les composants optionnels tels que le serveur embarqué et la suite de performances.The Noinstall Archive : ce paquet porte un nom du type
mysql-noinstall-4.1.9-win32.zip
et contient tous les fichiers du paquetComplete Package
, à l'exception de l'assistant de configuration. Ce paquet n'inclut pas l'installeur automatique, et doit être manuellement installé et configuré.
Le paquet Essentials Package
est recommandé
pour la plupart des utilisateurs.
Votre choix de paquet d'installation affecte le processus
d'installation. Si vous choisissez les paquets
Essentials Package
ou Complete
Packages
, voyez
Section 2.2.3, « Installer MySQL avec l'assistant automatique ». Si vous choisissez
l'installation de MySQL avec le paquet Noinstall
Archive
, voyez
Section 2.2.6, « Installer MySQL à partir d'une archive ZIP sans assistant ».
Depuis MySQL 4.1.5, les utilisateurs peuvent utiliser les
nouveaux assistants MySQL Installation Wizard
et MySQL Configuration Wizard
pour installer
MySQL sur Windows. MySQL Installation Wizard
et MySQL Configuration Wizard
sont con¸us
pour installer et configurer MySQL pour qu'un nouvel utilisateur
puisse immédiatement commencer à utiliser MySQL.
MySQL Installation Wizard
et MySQL
Configuration Wizard
sont disponibles parmi les
paquets d'installations essentiels et complets : ils sont
recommandés pour la plupart des installations standards de
MySQL. Les exceptions sont les utilisateurs qui ont besoin de
plusieurs instances de serveurs MySQL sur un serveur, et des
utilisateurs experts qui veulent avoir le contrôle de leur
configuration.
Si vous installer une version de MySQL antérieure à la version
4.1.5, suivez les instructions d'installation de MySQL à partir
des paquets Noinstall
. See
Section 2.2.6, « Installer MySQL à partir d'une archive ZIP sans assistant ».
- 2.2.4.1. Introduction
- 2.2.4.2. Télécharger et lancer l'assistant d'installation MySQL
- 2.2.4.3. Choisir le type d'installation
- 2.2.4.4. Le dialogue d'installation personnalisée
- 2.2.4.5. Le dialogue de confirmation
- 2.2.4.6. Modifications apportés par l'
assistant d'installation MySQL
- 2.2.4.7. Mise à jour de MySQL
L'assistant d'installation MySQL est un nouvel installeur pour le serveur MySQL, qui utilise les dernières technologies de Microsoft Windows. L'assistant d'installation de MySQL, combiné à l'assistant de configuration MySQL, permet à l'utilisateur d'installer et de configurer un serveur MySQL prêt à l'emploi dès son installation.
L'assistant d'installation MySQL est l'installeur standard de toutes les distributions MySQL à partir de la version 4.1.5. Les utilisateurs des anciennes versions doivent faire l'installation manuellement, en éteignant le serveur, suppramant leur installation existante avant d'installer la nouvelle version. Voyez la section Section 2.2.4.7, « Mise à jour de MySQL » pour plus d'informations sur la mise à jour depuis les anciennes versions.
Microsoft a inclut une version améliorée de leur
Microsoft Windows Installer
(MSI
) dans les versions récentes de
Windows. L'utilisation de MSI
est devenu le
standard de fait pour les applications sur Windows 2000,
Windows XP et Windows Server 2003. L'assistant d'installation
MySQL utilise cette technologie pour améliorer et simplifier
le processus d'installation.
Le Microsoft Windows Installer Engine
a
été mise à jour avec la version Windows XP; ceux qui
utilisent un version antérieure de Windows peuvent
se
reporter à cet article de la Microsoft Knowledge Base
pour plus d'informations sur la mise à jour de Windows
Installer Engine.
De plus, Microsoft a introduit le WiX
(Windows Installer XML
) récemment. C'est
le premier projet Open Source de Microsoft qui soit
recommandé. Nous sommes passé à WiX car c'est un projet
Open Source, et qu'il nous permet de gérer entièrement le
processus d'installation sur Windows de manière souple, via
des scripts.
L'amélioration de l'assistant d'installation de MySQL dépend du support et des rapports que les utilisateurs comme vous font. Si vous trouvez que l'assistant d'installation MySQL manque de certaines fonctionnalités vitales, ou si vous rencontrez un bogues, utilisez notre notre système de rapport de bogues pour demander une nouvelle fonctionnalité ou une correction de problème.
Les paquets d'installation du serveur MySQL sont disponibles au téléchargement sur le site http://dev.mysql.com/downloads/. Si le paquet que vous téléchargez est une archive Zip, il faudra commencer par décompresser cette archive.
Le processus de lancement de l'assistant dépend du contenu du
paquet d'installation que vous téléchargez. S'il existe un
fichier setup.exe
, faites un double-clic
dessus pour le lancer. S'il y a un fichier
.msi
, faites un double-clic dessus pour
lancer l'installation.
Il y a trois types d'installations disponibles : le standard
Typical
, le complet
Complete
et le personnalisé
Custom
.
L'installation Typical
installe le serveur
MySQL, le client en ligne de commande mysql
et les utilitaires de ligne de commande. Les utilitaires en
ligne de commande incluent mysqldump,
myisamchk et plusieurs autres outils pour
vous aider à gérer le serveur MySQL.
L'installation Complete
installe tous les
composants du paquet d'installation. L'installation complète
inclut des composants tels que les bibliothèques embarquées,
les tests de performances, les scripts de support et la
documentation.
L'installation personnalisée Custom
vous
donne le contrôle sur les composants que vous voulez
installer, et le chemin de l'installation. Voyez
Section 2.2.4.4, « Le dialogue d'installation personnalisée » pour
plus de détails sur ce type d'installation.
Si vous choisissez les installations
Typical
ou Complete
et
que vous cliquez sur le bouton Next
, vous
irez directement à l'écran de confirmation, et vous
débuterez l'installation. Si vous choisissez l'installation
Custom
, le dialogue d'installation
personnalisée se affiché, tel que présenté dans
Section 2.2.4.4, « Le dialogue d'installation personnalisée »
Si vous voulez changer le nom du dossier d'installation ou
installer un composant spécifique, il faut utiliser
l'installation personnalisée Custom
.
Tous les composants disponibles sont listés dans un arbre
hiérarchisé à gauche du dialogue d'installation. Les
composants qui ne seront pas installés ont une icône rouge
X
, et les composants qui sont déjà
installés ont une icône grisée. Pour installer un nouveau
composant, il faut cliquer sur l'icône du composant, et
choisir une nouvelle option dans la liste déroulante qui
apparaît.
Vous pouvez changer le chemin d'installation par défaut en
cliquant sur le bouton Change...
à droite
du chemin d'installation affiché.
Après avoir fait le choix des composants à installer et du
dossier d'installation, cliquez sur le bouton
Next
pour passer au dialogue de
confirmation.
Une fois que vous avez choisi un type d'installation et que vous avez choisi tous vos composants à installer, vous passez au dialogue de confirmation. Le type d'installation et les options sont présentés pour que vous puissiez le vérifier.
Pour installer MySQL dès que vous êtes satisfait de vos choix, cliquez sur le bouton 'install'. Pour modifier vos options, cliquez sur le bouton 'Back'. Pour quitter l'assistant d'installation MySQL, cliquez sur le bouton 'Cancel'.
Une fois l'installation terminée, vous pouvez vous enregistrer sur le site Web de MySQL. L'enregistrement vous donne accès aux forums à l'URL forums.mysql.com, ainsi qu'aux rapports de bogues à l'URL bugs.mysql.com et à l'inscription des lettres d'informations. Le dernier écran de l'installeur fournit un résumé de l'opération, et vous donne l'occasion de lancer l'assistant de configuration de MySQL, qui vous servira à créer un fichier de configuration, à installer un service MySQL et à mettre en place les sécurités.
Une fois que vous avez cliqué sur le bouton d'installations,
l'assistant d'installation MySQL
commence
le processus d'installation et s'assure que les modifications
apportées à votre système sont celles que vous avez
demandé.
Modifications du registre
L'assistant d'installation MySQL
crée une
clé dans le registre de Windows :
HKEY_LOCAL_MACHINE\SOFTWARE\MySQL AB
.
L'assistant d'installation MySQL
crée une
clée à partir du numéro de version majeur du serveur en
cours d'installation, tel que MySQL Server
4.1
. Elle contient deux valeurs, les chaînes
Location
et Version
. La
chaîne Location
contient le chemin
jusqu'au dossier d'installation. Dans une installation par
défaut, elle contient C:\Program Files\MySQL\MySQL
Server 4.1\
. La chaîne Version
contient le numéro de version. Par exemple, pour une
installation de MySQL Server 4.1.5
, la clé
contient la valeur 4.1.5
.
Les clés du registre servent aux outils externes pour
identifier le dossier d'installation, évitant ainsi une
recherche dans l'ensemble du disque dur pour déterminer le
bon dossier. Les clés de registre ne sont pas obligatoires
pour faire fonctionner le serveur, et lorsque vous faites une
installation noinstall
, ces clés ne sont
pas créées.
Modification dans le menu de démarrage
L'assistant d'installation MySQL
crée une
nouvelle entrée dans le menu de démarrage de Windows, sous
le nom commun de MySQL que vous avez installé. Par exemple,
si vous installez MySQL 4.1
,
l'assistant d'installation MySQL
crée une
section MySQL Server 4.1
.
Les éléments suivants sont créés dans ce menu :
MySQL Command Line Client
: c'est un raccourci vers le client de ligne de commande mysql et il est configuré pour se connecter en tant queroot
. Le raccourci demande le mot de passe deroot
.MySQL Server Instance Config Wizard
: ceci est un raccourci vers l'assistant de configuration MySQL
. Utilisez ce raccourci pour configurer un nouveau serveur ou reconfigurer un serveur en fonctionnement.Documentation MySQL
: ceci est un lien vers la documentation du serveur MySQL qui est stockée localement dans le dossier d'installation. Cette option n'est pas disponible lorsque le serveur est installié avec le paquetessential
.
Modifications dans le système de fichiers
L'assistant d'installation MySQL
installe
le serveur MySQL dans le dossier
C:\
, où
Program
Files
\MySQL\MySQL Server
4.1
Program Files
est le dossier par
défaut pour les applications sur votre système et
4.1
est la version majeure du
serveur. C'est l'emplacement recommandé pour le serveur
MySQL, qui remplace le dossier précédent de
c:\mysql
.
Par défaut, toutes les applications MySQL sont stockées dans
le dossier C:\
, où Program
Files
\MySQLProgram
Files
est le dossier pour les applications sur
votre système Windows. Une installation typique de MySQL sur
une machine ressemble à ceci :
C:\Program Files\MySQL\MySQL Server 4.1 C:\Program Files\MySQL\MySQL Server 5.0 C:\Program Files\MySQL\MySQL Administrator 1.0 C:\Program Files\MySQL\MySQL Query Browser 1.0
Cette approche rend plus simple la gestion et l'entretien des applications MySQL sur un système Windows.
Depuis MySQL 4.1.5, le nouvel assistant d'installation MySQL peut réaliser automatiquement des installations en exploitant des capacités de MSI. Cela signifie que vous n'avez pas à modifier l'ancienne installation manuellement, avant de faire une nouvelle installation. L'installeur se charge d'éteindre automatiquement le serveur et de le supprimer avant d'installer la nouvelle version.
Les mises à jour automatiques sont uniquement disponibles lors de la mise à jour entre deux installations qui ont le même numéro de version majeure et mineure. Par exemple, vous pouvez mettre à jour automatiquement le serveur depuis MySQL 4.1.5 vers MySQL 4.1.6, mais pas de MySQL 4.1 vers MySQL 5.0.
Si vous passez de version MySQL 4.1.4 ou plus ancien à la version 4.1.5 ou plus récent, vous devez commencer par manuellement éteindre le serveur et supprimer l'ancienne installation avant de faire la mise à jour. Assurez-vous de sauver les bases de données avant de faire une telle mise à jour, pour que vous puissiez restaurer les données après la migration. Il est toujours recommandé de faire une sauvegarde des données avant de faire une mise à jour.
- 2.2.5.1. Introduction
- 2.2.5.2. Lancement de l'
assistant de configuration MySQL
- 2.2.5.3. Choisir un option d'entretien
- 2.2.5.4. Choisir un type de configuration
- 2.2.5.5. Le dialogue de type de serveur
- 2.2.5.6. Le dialogue d'utilisation des bases de données
- 2.2.5.7. Le dialogue d'instalaltoin des espaces de tables
InnoDB
- 2.2.5.8. Le dialogue de connexions simultanées
- 2.2.5.9. Le dialogue d'option de réseau
- 2.2.5.10. Le dialogue de jeux de caractères
- 2.2.5.11. Le dialogue d'options de service
- 2.2.5.12. Le dialogue d'options de sécurité
- 2.2.5.13. Le dialogue de confirmation
- 2.2.5.14. L'emplacement du fichier
my.ini
- 2.2.5.15. Editer le fichier
my.ini
L'assistant de configuration MySQL
vous
aide dans le processus de configuration de votre serveur MySQL
sous Windows. L'assistant de configuration
MySQL
crée un fichier my.ini
personnalisé en vous posant différentes questions, et en
enregistrant vos réponses dans un fichier
my.ini
modèle.
L'assistant de configuration MySQL
est
inclut avec le serveur MySQL depuis MySQL version 4.1.5, mais
il est con¸u pour fonctionner avec les versions 4.1 ou plus
récent. L'assistant de configuration MySQL
est actuellement disponible uniquement pour Windows.
L'assistant de configuration MySQL
est,
pour l'essentiel, le résultat des retours que MySQL
AB
a re¸u de nombreux utilisateurs depuis quelques
années. Cependant, si vous pensez que ce logiciel manque de
fonctionnalités importantes pour vous, ou si vous rencontrez
un bogue, utilisez notre système
MySQL Bug System
pour demander une nouvelle fonctionnalité ou rapporter un
problème.
L'assistant de configuration MySQL
est
simplement lancé lorsque l'assistant d'installation
MySQL
se termine. Vous pouvez aussi lancer le
l'assistant de configuration MySQL
en
cliquant sur l'élément du programme dans le menu démarrer.
De plus, vous pouvez vous rendre dans le dossier
bin
du dossier d'installation de MySQL pour
lancer manuellement le programme
MySQLInstanceConfig.exe
.
Si l'assistant de configuration MySQL
détecte un fichier my.ini
, vous aurez
l'option de reconfigurer votre serveur ou de supprimer cette
instance du fichier my.ini
, stopper et
supprimer le serveur MySQL.
Pour reconfigurer un serveur existant, choisissez l'option
Re-configure Instance
et cliquez sur le
bouton de suite. Votre fichier my.ini
actuel sera renommé en
my
,
où timestamp
.ini.baktimestamp
est la date et
l'heure où le fichier my.ini
a été
créé. Pour supprimer l'instance actuelle du serveur,
choisissez l'option Remove Instance
et
cliquez sur le bouton Next
.
Si vous choisissez l'option Remove
Instance
, vous passez à une fenêtre de
confirmation. Cliquez sur le bouton d'exécution, et
l'assistant de configuration MySQL
va
arrêter et supprimer le serveur MySQL, puis effacer le
fichier my.ini
. L'installation du serveur
et le dossier de données data
ne sont pas
touchés.
Si vous choisissez l'option Re-configure
Instance
, vous passez au dialogue de
Configuration du type
où vous pouvez
choisir le type d'installation à configurer.
Lorsque vous lancez l'assistant de configuration
MySQL
pour une nouvelle installation ou que vous
choisissez l'option Re-configure Instance
pour une installation existante, vous passez au dialogue
Configuration Type
.
Il y a deux types de configuration disponibles :
Detailed Configuration
et Standard
Configuration
. L'option Standard
Configuration
sert aux nouveaux utilisateurs qui
veulent lancer rapidement MySQL sans avoir à prendre beaucoup
de décisions concernant la configuration du serveur. L'option
Detailed Configuration
sert pour les
utilisateurs avancés qui veulent avoir le contrôle complet
de leur configuration.
Si vous êtes nouveaux avec MySQL et que vous voulez avoir un
serveur configuré en mode utilisateur seul, la
Standard Configuration
devrait vous
convenir. Choisir l'option Standard
Configuration
fait que le l'assistant de
configuration MySQL
va effectuer toutes les
configurations sauf Service Options
et
Security Options
.
La Standard Configuration
choisit des
options qui peuvent être incompatibles avec les systèmes qui
supportent déjà d'autres installations MySQL. Si vous avez
une installation MySQL sur votre système en plus de celle que
vous voulez configurer, il faut utiliser l'option
Detailed Configuration
.
Pour terminer la Standard Configuration
,
voyez les sections concernant les options de
service
et les option de
sécurité
, accessibles à
Section 2.2.5.11, « Le dialogue d'options de service » et
Section 2.2.5.12, « Le dialogue d'options de sécurité ».
Il y a différents types de serveurs disponibles et ce type
affecte les décisions prises par l'assistant de
configuration MySQL
en ce qui concerne la mémoire,
le disque et l'utilisation du processeur.
Developer Machine
: choisissez cette option pour installer MySQL pour une utilisation personnelle. L'assistant suppose qu'il y aura de nombreuses autres applications qui fonctionneront simultanément. Le serveur est configuré pour utiliser un minimum de ressources.Server Machine
: choisissez cette option pour un serveur, où MySQL fonctionne avec d'autres applications serveurs, telles qu'un serveur FTP, email et web. Le serveur est configuré pour utiliser une portion raisonnable des ressources.Dedicated MySQL Server Machine
: choisissez ce type pour une machine qui est dédiée à MySQL. L'assistant suppose alors qu'aucune autre application ne fonctionne, et que le serveur peut occuper toutes les ressources disponibles.
Le dialogue Database Usage
vous permet
d'indiquer les moteurs de tables que vous voulez utiliser
lorsque vous créez les tables MySQL. Les options que vous
choisissez alors détermines si le moteur InnoDB est
disponible, et quel pourcentage des ressources du serveur sont
disponibles pour ce moteur.
Multifunctional Database
: cette option active simultanément InnoDB et MyISAM et divise les ressources équitablement entre les deux. Cette option est recommandée pour les utilisateurs qui utilisent les deux types de tables régulièrement.Transactional Database Only
: cette option active les deux moteurs InnoDB et MyISAM mais consacre plus de ressource InnoDB. Cette option est recommandée pour les utilisateurs qui emploient exclusivement InnoDB, et très rarement MyISAM.Non-Transactional Database Only
: cette option désactive complètement InnoDB et consacre toutes les ressources du serveur à MyISAM. Cette option est recommandée pour les utilisateurs qui n'emploient pas InnoDB.
Certains utilisateurs souhaitent ranger leurs espaces de
tables InnoDB
hors du dossier de données
de MySQL. En pla¸ant ces fichiers comme cela, vous pouvez
gagner en performances ou en capacité en choisissant le bon
système de stockage, comme un système RAID, par exemple.
Pour changer le dossier par défaut des espaces de tables
InnoDB
, vous devez choisir un autre volume
dans la liste disponible. Pour créer un chemin particulier,
il suffit de cliquer... sur le bouton.
Si vous modifiez la configuration d'un serveur existant, vous
devez cliquer sur le bouton de modification
Modify
avant de changer le chemin. Dans la
situation où vous changez manuellement les fichiers d'espace
de table, il faut déplacer les fichiers dans leur nouveau
dossier avant de relancer le serveur.
Il est important de mettre une limite au nombre de connexions
simultanées qu'un serveur MySQL va accepter pour éviter que
le serveur ne consomme tous les processus existants. Le
dialogue Concurrent Connections
vous permet
de choisir le nombre maximum d'utilisateurs sur le serveur, et
configure la limite de connexions simultanées. Il est aussi
possible de modifier manuellement cette limite.
Decision Support (DSS)/OLAP
: choisissez cette option si votre serveur ne requiert par beaucoup de connexions simultanées. Le nombre maximal de connexions est de 100, avec une moyenne de 20 connexions simultanées.Online Transaction Processing (OLTP)
: choisissez cette option si votre serveur requiert de nombreuses connexions simultanées. Le nombre maximal de connexions est de 500.Manual Setting
: choisissez cette option pour spécifier manuellement le nombre maximal de connexions concurrentes au serveur. Choisissez un nombre de connexions dans la liste fournie, ou bien tapez directement le nombre choisi dans cette liste.
Utilisez le dialogue Networking Options
pour activer ou désactiver la pile TCP/IP et pour confirmer
le numéro de port à utiliser pour se connecter à MySQL.
La pile TCP/IP est activée par défaut. Pour désactiver le
réseau TCP/IP, décochez la boîte Enable TCP/IP
Networking
.
Le port 3306 est utilisé par éfaut. Pour changer le port utilisé pour se connecter à MySQL, choisissez un port dans la liste fournie, ou tapez un nouveau numéro de port directement dans cette zonne. Si le numéro de port que vous choisissez est déjà utilisé, vous devre confirmer votre choix.
Le serveur MySQL supporte plusieurs jeux de caractères, et il
est possible de configurer un jeu de caractères qui sera
utilisé par défaut à toutes les tables, colonnes et bases
de données, à moins qu'il ne soit spécifié autrement.
Utilisez le dialogue Character Set
pour
changer le jeu de caractères par défaut du serveur MySQL.
Standard Character Set
: choisissez cette option si vous voulez utiliserLatin1
comme jeu de caractères par défaut.Latin1
sert pour l'anglais et la plupart des langues occidentales.Best Support For Multilingualism
: choisissez cette option si vous voulez utiliserUTF8
comme jeu de caractères par défaut.UTF8
peut stocker les caractères de très nombreuses langues dans un même jeu.Manual Selected Default Character Set / Collation
: choisissez cette option si vous voulez choisir le jeu de caractères par défaut manuellement. Choisissez le jeu de caractères souhaité dans la liste fournie.
Sur les plates-formes Windows NT, le serveur MySQL peut être installé comme un service. Lorsque c'est le cas, le serveur MySQL peut être démarré automatiquement lors du lancement du serveur, et même, redémarré automatiquement par Windows dans le cas d'une panne de service.
L'assistant de configuration MySQL installe le serveur MySQL
comme service par défaut, en utilisant le service appelé
MySQL. Si vous ne voulez pas installer le service, décochez
la boîte à coté de l'option Install As Windows
Service
. Vous pouvez changer le nom du service en en
donnant un nouveau dans le champ fourni ou dans le menu
déroulant proposé.
Pour installer le serveur MySQL comme un service, mais sans le
démarrage automatique au démarrage, décochez la boîte à
coté de l'option Launch the MySQL Server
automatically
.
Il est recommandé de donner un mot de passe à l'utilisateur
root
pour votre serveur, et
l'assistant de configuration MySQL
vous
impose de configurer un mot de passe root
par défaut. Si vous ne voulez pas spécifier le mot de passe
root
, il faut décocher l'option
Modify Security Settings
.
Pour choisir un mot de passe root
, tapez le
mot que vous voulez dans les deux champs New root
password
et Confirm
. Si vous
reconfigurez un serveur existant, il faut aussi indiquer le
mot de passe courant du root
dans le champ
Current root password
.
Pour éviter les connexions root
via le
réseau, cochez l'option Root may only connect from
localhost
. Cela améliore la sécurité de votre
compte root
.
Pour créer un compte anonyme, cochez l'option Create
An Anonymous Account
. La création d'un compte
anonyme peut réduire la sécurité de votre serveur et n'est
pas recommandée.
Le dialogue final de l'assistant de configuration
MySQL
est le Confirmation Dialog
.
Pour lancer le processus de configuration, cliquez sur le
bouton Execute
. Pour retourner à un
dialogue précédent, cliquez sur le bouton
Back
. Pour quitter l'assistant de
configuration MySQL
, cliquez sur le bouton
Cancel
.
Une fois que vous avez cliqué sur le bouton
Execute
, l'assistant de
configuration MySQL
effecture différentes tâches
et affiche sa progression à l'écran.
L'assistant de configuration MySQL
détermine différentes options de configuration en fonction
de vos choix, en utilisant un gabarit préparé par
MySQL AB
. Ce gabarit est appelé
my-template.ini
et est situé dans le
dossier d'installation.
L'assistant de configuration MySQL
écrit
alors ces options dans le fichier my.ini
.
L'emplacement final du fichier my.ini
est
affiché à coté de la tâche Write configuration
file
.
Si vou choisissez de créer un service pour le serveur MySQL,
l'assistant de configuration MySQL
va
créer le service et le démarrer. Si vous reconfigurez un
service existant, l'assistant de configuration
MySQL
va redémarrer le service pour qu'il prennent
en compte vos modifications.
Si vous choisissez de configurer un mot de passe
root
, l'assistant de configuration
MySQL
va se connecter au serveur, configure votre
mot de passe, et appliquer les options de sécurité que vous
lui avez spécifié.
Une fois que l'assistant de configuration
MySQL
a terminé, un résumé est affiché. Cliquez
sur le bouton Finish
pour terminer avec
l'assistant de configuration MySQL
.
Dans les installations MySQL antérieures à la version 4.1.5,
il était de coutume de donner le nom de
my.cnf
au fichier de configuration du
serveur, ou bien de le baptiser my.ini
et
de placer ce fichier dans c:\my.cnf
ou
c:\Windows\my.ini
.
Le nouvel assistant de configuration MySQL
place le fichier my.ini
dans le dossier
d'installation du serveur MySQL. Cela permet d'associer le
fichier de configuration avec la bonne instance du serveur.
Pour s'assurer que le serveur MySQL sait où trouver le
fichier my.ini
, un argument similaire à
celui-ci est passé durant l'installation du service :
--defaults-file="
,
où C:\Program
Files\MySQL\MySQL Server 4.1
\my.ini"C:\Program Files\MySQL\MySQL Server
4.1
est remplacé par le chemin de
l'installation du serveur MySQL.
L'option --defaults-file
indique au serveur
MySQL qu'il doit lire le fichier spécifié pour trouver les
options de configuration.
To modify the my.ini
file, open it with a
text editor and make any necessary changes. You can also
modify the server configuration with the
http://www.mysql.com/products/administrator/ utility.
MySQL clients and utilities such as the
mysql command-line client and
mysqldump are not able to locate the
my.ini
file located in the server
installation directory. To configure the client and utility
applications, create a new my.ini
file in
the c:\Windows
directory.
Les utilisateurs qui réalisent leur installation à partir
d'une archive sans assistant (paquet
Noinstall
), ou qui installe une version
antérieure à la version 4.1.5, peuvent utiliser les
instructions de cette section pour réaliser leur installation
manuelle de MySQL. Si vous utilisez une version antérieure à
la version 4.1.5 avec une distribution qui dispose d'un
assistant, remplacez l'exécution du programme
Setup
par l'extraction de l'archive.
Les instructions d'installation de MySQL à partir de l'archive ZIP sont les suivantes :
Décompressez l'archive dans le dossier d'installation souhaité.
Créez un fichier d'options.
Choisissez un type de serveur MySQL.
Démarrez le serveur MySQL.
Sécurisez les mots de passe des utilisateurs créés par défaut.
Ce processus est décrit dans les sections suivantes.
Pour installer MySQL manuellement, suivez ces instructions :
Si vous mettez à jour votre installation depuis une installation ancienne, voyez la section Section 2.2.11, « Mettre à jour MySQL sous Windows » avant de commencer le processus de mise à jour.
Si vous utilisez un serveur basé sur Windows NT, comme Windows NT, Windows 2000, Windows XP ou Windows Server 2003, assurez-vous que vous êtes connectés avec un utilisateur qui a les droits d'administration.
Choisissez un dossier d'installation. Traditionnellement, le serveur MySQL est installé dans le dossier
C:\mysql
, et le nouvel assistant d'installation MySQL installe MySQL dansC:\Program Files\MySQL
. Si vous n'installez pas MySQL dansC:\mysql
, vous devez spécifier le chemin jusqu'au dossier d'installation durant le démarrage, ou bien dans un fichier d'options. See Section 2.2.8, « Créer un fichier d'options ».Extrayez l'archive d'installation dans le dossier d'installation, en utilisant votre outil de Zip préféré. Certains outils vont extraire l'archive dans un dossier du dossier que vous aurez désigné. Si cela arrive, il faudra déplacer le contenu de ce sous-dossier dans le dossier que vous souhaitez.
Si vous avez besoin de spécifier des options lorsque vous exécutez le serveur, vous pouvez les indiquer à la ligne de commande ou les placer dans un fichier d'options. Pour les options qui sont utilisées à chaque démarrage du serveur, il est plus pratique de les ranger dans un fichier d'options. C'est particulièrement vrai dans les situations suivantes :
Le dossier d'installation et le dossier de données sont à des emplacements différents de leur valeur par défaut (
C:\mysql
etC:\mysql\data
).Vous devez adapter le paramétrage du serveur. Par exemple, vous utilisez les tables transactionnelles
InnoDB
de MySQL 3.23, et vous devez manuellement ajouter des lignes d'options telles que décrites dans Section 15.4, « ConfigurationInnoDB
». (Depuis MySQL 4.0,InnoDB
crée le fichier de données et de log dans le dossier de données, par défaut). Avoir un fichier d'options signifie que vous n'avez plus à configurerInnoDB
explicitement. Vous pouvez toujours le faire si vous le voulez, mais le fichier d'options est très pratique dans ce cas.
Lorsque le serveur MySQL démarre sur Windows, il recherche les
options dans deux fichiers : le fichier
my.ini
dans le dossier Windows, et le
fichier C:\my.cnf
. Le dossier Windows est
typiquement C:\WINDOWS
ou
C:\WinNT
. Vous pouvez déterminer son
chemin exact en affichant la valeur de la variable
d'environnement WINDIR
avec la commande
suivante :
C:\> echo %WINDIR%
MySQL recherche les options en premier dans le fichier
my.ini
, puis dans le fichier
my.cnf
. Cependant, pour éviter les
confusions, il est mieux de n'utiliser qu'un seul fichier. Si
votre PC utilise un boot loader où le volume
C:
n'est pas le disque de démarrage, votre
seule issue est d'utiliser le fichier
my.ini
. Quelque soit l'option que vous
utiliser, le fichier d'option est un simple fichier texte.
Vous pouvez aussi utiliser les fichiers d'options d'exemple
inclus dans votre distribution MySQL. Regardez dans le dossier
d'installation et recherchez des fichiers tels que
my-small.cnf
,
my-medium.cnf
,
my-large.cnf
, etc., quie vous pouvez copier
ou renommer, et placer dans le chemin approprié pour avoir un
fichier de configuration de base.
Un fichier d'options peut être créé est modifié par
n'importe quel éditeur de texte, tels que
Notepad
. Par exemple, si MySQL est installé
dans le dossier E:\mysql
et que le dossier
de donnéest est situé dans
E:\mydata\data
, vous pouvez créer un
fichier d'options et configurer la section
[mysqld]
pour spécifier les valeurs de
basedir
et datadir
:
[mysqld] # set basedir to your installation path basedir=E:/mysql # set datadir to the location of your data directory datadir=E:/mydata/data
Notez que les noms de chemin Windows sont spécifiés dans les options avec des slash, et non pas des anti-slash. Si vous utilisez des anti-slash, il faut les doubler :
[mysqld] # set basedir to your installation path basedir=E:\\mysql # set datadir to the location of your data directory datadir=E:\\mydata\\data
Sur Windows, l'installeur MySQL place les données directement
dans le dossier où vous installez MySQL. Si vous voulez
utiliser un dossier de données différent, il faut copier
l'intégralité du dossier data
dans le
nouveau chemin. Par défaut, l'installeur place MySQL dans
C:\mysql
et le dossier de données dans
C:\mysql\data
. Si vous voulez utiliser le
dossier E:\mydata
, vous devez faire ceci :
Déplacer le dossier de données depuis
C:\mysql\data
versE:\mydata
.Utilisez l'option
--datadir
pour spécifier le nouveau dossier de données, à chaque fois que vous lancez le serveur.
Depuis MySQL 3.23.38, la distribution Windows inclut le
serveur MySQL classique et le serveur
MySQL-Max
. Voici la description de toutes
les versions livrées :
Programme | Description |
mysqld | Compilé avec les informations de débogage, la vérification
d'allocation de mémoire, le support des liens
symboliques et les tables InnoDB et
BDB tables. |
mysqld-opt | Optimisé. Depuis la version 4.0, InnoDB est activé.
Avant la version 4.0, ce serveur incluait aucune
tables transactionnelles. |
mysqld-nt | Optimisé pour Windows NT/2000/XP avec support pour les pipes nommés. |
mysqld-max | Optimisé, avec le support des liens symboliques et des tables
InnoDB et BDB . |
mysqld-max-nt | Comme mysqld-max , mais compilé avec le support des
pipes nommés. |
Tous les serveurs précédents sont optimisés pour les processeurs Intel modernes, mais ils fonctionneront sur toutes les architectures Intel de classe i386 et plus récent.
MySQL supporte TCP/IP sur toutes les plates-formes Windows.
Les serveurs mysqld-nt
et
mysql-max-nt
supportent les pipes nommés
sur NT
, 2000 et XP
.
Cependant, par défaut, MySQL utilise TCP/IP quelque soit la
plate-forme. Les pipes nommés sont plus lents que TCP/IP.
Les pipes nommés sont sujets aux limitations suivantes :
Depuis MySQL 3.23.50, les pipes nommés sont activés uniquement si vous lancez le serveur avec l'option
--enable-named-pipe
. Il est nécessaire d'utiliser explicitement cette option, car des utilisateurs ont rencontré des problèmes lors de l'extinction du serveur MySQL, avec les pipes nommés.Les connexions par pipe nommés ne sont permises qu'avec
mysqld-nt
etmysqld-max-nt
, et uniquement si le serveur fonctionne sur une version de Windows qui supporte les pipes nommés (NT, 2000, XP).Ces serveurs peuvent fonctionner avec Windows 98 et Me, mais ils requièrent la pile TCP/IP; le pipes nommés seront ignorés.
Sur Windows 95, ces serveurs ne peuvent être utilisés.
Note : La plupart des
exemples dans les prochaines sections, utilisent
mysqld
comme nom de serveur. Si vous
choisissez un autre nom de serveur, comme
mysqld-opt
, assurez vous de bien faire les
bons remplacements dans les commandes des exemples. Une bonne
raison de choisir un nom de serveur différent est que
mysqld
contient le support complet du
débogage, il utilise plus de mémoire et fonctionne plus
lentement que les autres serveurs Windows.
Sur Windows 95, 98 et Me, les clients MySQL utilisent toujours TCP/IP pour se connecter au serveur. Cela permet à toute machine du réseau de se connecter à votre serveur MySQL. A cause de cela, assurez vous que le support TCP/IP est installé avant de lancer MYSQL. Vous pouvez trouver TCP/IP dans votre CD d'installation Windows.
Notez que si vous utilisez une vieille version Windows 95 (par exemple, OSR2), il est probable que vous ayez un vieux paquet Winsock; MySQL requiert Winsock 2! Vous pouvez télécharger un nouveau paquet Winsock sur http://www.microsoft.com/. Windows 98 dispose de la bibliothèque Winsock 2, et il est donc inutile de la mettre à jour.
Sur les systèmes NT, comme Windows NT, 2000 ou XP, les clients ont deux options. Soit utiliser TCP/IP, soit les pipes nommés, si le serveur les supporte.
Pour des informations sur quel serveur choisir, voyez Section 2.2.8.1, « Choisir un serveur MySQL sur Windows ».
Cette section donne un aper¸u général du lancement du serveur MySQL. La section suivante fournit des informations spécifiques pour une version particulière de Windows.
Les exemples de ces sections supposent que MySQL est installé
dans son dossier par défaut : C:\mysql
.
Adaptez les noms de chemins si vous avez installé MySQL
ailleurs.
Testez à partir d'une console DOS est la meilleure chose à faire car le serveur affiche des messages qui y apparaissent. Si quelque chose n'est pas bon dans votre configuration, ces messages vous aiderons à identifier et corriger le problème.
Assurez-vous d'être dans le répertoire où se situe le serveur, puis entrez cette commande :
C:\mysql\bin> mysqld --console
Vous devriez voir ce qui suit pendant le démarrage du serveur :
InnoDB: The first specified datafile c:\ibdata\ibdata1 did not exist: InnoDB: a new database to be created! InnoDB: Setting file c:\ibdata\ibdata1 size to 209715200 InnoDB: Database physically writes the file full: wait... InnoDB: Log file c:\iblogs\ib_logfile0 did not exist: new to be created InnoDB: Setting log file c:\iblogs\ib_logfile0 size to 31457280 InnoDB: Log file c:\iblogs\ib_logfile1 did not exist: new to be created InnoDB: Setting log file c:\iblogs\ib_logfile1 size to 31457280 InnoDB: Log file c:\iblogs\ib_logfile2 did not exist: new to be created InnoDB: Setting log file c:\iblogs\ib_logfile2 size to 31457280 InnoDB: Doublewrite buffer not found: creating new InnoDB: Doublewrite buffer created InnoDB: creating foreign key constraint system tables InnoDB: foreign key constraint system tables created 011024 10:58:25 InnoDB: Started
Lorsque le serveur finit sa séquence de démarrage, vous devriez voir une ligne comme celle-ci, qui indique que le serveur est fonctionnel, et attend les connexions :
mysqld: ready for connections Version: '4.0.14-log' socket: '' port: 3306
Le serveur va continuer à écrire dans la console les logs. Vous pouvez ouvrir une autre console pour utiliser un client.
Si vous omettez l'option --console
, le
serveur va écrire les logs dans un fichier du dossier de
données (C:\mysql\data
par défaut). Le
fichier d'erreurs est celui dont l'extension est
.err
.
Les comptes initiaux, qui sont dans les tables de droits de MySQL n'ont pas de mot de passe. Après le démarrage du serveur, vous devriez modifier leurs mots de passe avec les instructions de Section 2.5, « Procédure de post-installation ».
Note : Les comptes sont listés dans les tables de droits MySQL qui n'ont pas de mot de passe initialement. Après avoir démarré le serveur, il est recommandé de les modifié, comme indiqué dans la documentation Section 2.5, « Procédure de post-installation ».
Le serveur MySQL peut être lancé manuellement depuis la ligne de commande. Ceci est valable pour toutes les versions de Windows.
Pour lancer le serveur mysqld depuis la ligne
de commande, vous devez ouvrir une fenêtre de console (une
``fenêtre DOS
'') et entrer ces lignes :
C:\> C:\Program Files\MySQL\MySQL Server 4.1\bin\mysqld
Le chemin utilisé dans l'exemple précédent dépend de votre installation de MySQL.
Sur les versions non NT de Windows, cette commande lance mysqld en tâche de fond. C'est à dire qu'après le démarrage du serveur, vous devriez retrouver votre invite de commande. Si vous lancez le serveur de cette manière sur Windows NT, 2000, XP ou 2003, le serveur va fonctionner en tâche principale jusqu'à ce que le serveur se termine. A cause de cela, il faudra ouvrir une autre console pour exécuter le client.
Vous pouvez arrêter le serveur MySQL en exécutant cette commande :
C:\> C:\Program Files\MySQL\MySQL Server 4.1\bin\mysqladmin -u root shutdown
Cela appelle l'utilitaire MySQL mysqladmin
qui se connecte au serveur et lui indique de s'arrêter.
L'utilitaire se connecte en tant que root
MySQL, qui est le compte d'administration par défaut dans le
système de droits MySQL. Notez que les utilisateurs MySQL sont
totalement indépendants des utilisateurs Windows.
Si mysqld ne se lance pas, vérifiez le log
d'erreur pour fois si le serveur y a inscrit un message pour
indiquer la nature du problème. Le fichier d'erreur est rangé
dans le dossier C:\mysql\data
. C'est le
fichier qui porte le suffixe .err
. Vous
pouvez aussi essayer de lancer le serveur avec la commande
mysqld --console; dans ce cas, vous pourrez
lire la totalité des informations d'erreur directement à
l'écran.
La dernière option est de lancer mysqld avec
l'option --standalone --debug
. Dans ce cas,
mysqld écrit un fichier de log dans le
fichier C:\mysqld.trace
qui contiendra la
raison qui fait que mysqld ne se lance pas.
See Section D.1.2, « Créer un fichier de tra¸age ».
Utilisez mysqld --verbose --help pour
afficher toutes les options que mysqld
comprend (Avant MySQL 4.1, omettez l'option
--verbose
.)
Dans la famille NT (Windows NT, 2000 ou XP), la méthode
recommandée pour faire fonctionner MySQL est de l'installer
comme service Windows. Windows lance et arrête le serveur
MySQL lorsque le système d'exploitation se lance ou
s'arrête. Un serveur installé comme un service peut aussi
être contrôlé en ligne de commande, avec la commande
NET
, ou avec l'utilitaire graphique
Services
.
L'utilitaire Services
(le gestionnaire
Windows Service Control Manager
) est
disponible dans le panneau d'administration Windows (sous la
section Utilitaires d'administration
sous
Windows 2000). Il est conseillé de fermer l'utilitaire
Services
lorsque vous faites une
installation ou une suppression à partir de la ligne de
commande : cela évite certaines erreurs étranges.
Pour faire fonctionner MySQL avec TCP/IP sous Windows NT 4, vous devez installer le service pack 3 ou plus récent.
Avant d'installer MySQL comme service Windows, vous devez commencer par arrêter le serveur en marche, avec cette commande :
C:\> C:\mysql\bin\mysqladmin -u root shutdown
Elle appelle l'utilitaire MySQL mysqladmin
,
qui se connecte au serveur et l'arrête. La commande se
connecte en tant que root
, qui est le
compte d'administration par défaut. Notez que les
utilisateurs du système de droits MySQL sont totalement
indépendant de ceux de Windows.
Ensuite, installez le serveur comme un service :
C:\> mysqld --install
Si vous avez des problèmes d'installation de
mysqld
en tant que service en utilisant
simplement le nom du serveur, essayez d'utiliser le chemin
complet :
C:\> C:\mysql\bin\mysqld --install
Depuis MySQL 4.0.2, vous pouvez spécifier un nom de service
personnalisé avec l'option --install
. Depuis
MySQL 4.0.3, vous pouvez spécifier en plus l'option
--defaults-file
après le nom du service,
pour indiquer où le serveur doit lire les options au
démarrage. Les règles qui détermine le nom du service et le
fichier d'options à utiliser sont les suivantes :
Si vous ne spécifiez pas de nom de service, le serveur utilise le nom de service par défaut de MySQL et le serveur lit les options du groupe
[mysqld]
dans le fichier d'options standard.Si vous spécifiez un nom de service après l'option
--install
, le serveur va ignorer le groupe d'options[mysqld]
et lire les options dans le groupe du même nom que le nom du service. Le serveur lit ces options dans le fichier d'options standard.Si vous spécifiez une option
--defaults-file
après le nom du service, le serveur va ignorer les fichiers d'options standard et ne lire les options que dans le groupe[mysqld]
.
Note : avant MySQL 4.0.17,
un serveur installé comme service Windows avait des
problèmes à se lancer si le chemin ou le nom du service
contenait des espaces. Pour cette raison, évitez d'installer
MySQL dans un dossier tel que C:\Program
Files
ou avec un nom qui contient des espaces.
Dans le cas général où vous installez le serveur avec
l'option --install
mais sans nom de service,
le serveur est installé sous le nom de MySQL.
Un exemple plus complexe : voyez la commande suivante, qui peut être saisie sur une seule ligne :
C:\> C:\mysql\bin\mysqld --install mysql
--defaults-file=C:\my-opts.cnf
Ici, le nom du service est donné après l'option
--install
. Si aucune option
--defaults-file
n'est donnée, cette commande
aurait pour effet de faire lire au serveur le groupe
[mysql]
dans les fichiers d'options
standard. Cela est une mauvaise idée, car ce groupe d'options
est aussi celui du client mysql
. Cependant,
comme l'option --defaults-file
est présente,
le serveur lit les options uniquement dans le fichier
indiqué, et uniquement dans le groupe d'options
[mysqld]
.
Vous pouvez aussi spécifier les options comme
``Start parameters
'' dans l'utilitaire
Windows Services
avant de lancer le
service.
Une fois que le serveur MySQL est installé, Windows va lancer
automatiquement le service lorsque Windows se lance. Le
service peut aussi être lancé immédiatement depuis
l'utilitaire Services
, ou avec la commande
en ligne NET START MySQL
. La commande
NET
n'est pas sensible à la casse.
Lorsqu'il fonctionne comme un service,
mysqld
n'a pas accès à la console
Windows, et aucune message n'apparaîtra la. Si
mysqld
ne démarre pas, vérifiez dans le
fichier d'erreurs si le serveur a inscrit des messages qui
indiquent la cause du problème. Le fichier d'erreurs est
situé dans le dossier C:\mysql\data
. Il
porte le suffixe .err
.
Lorsque mysqld
fonctionne comme un service,
il peut être stoppé par l'utilitaire
Services
, la commande NET STOP
MySQL
, ou la commande mysqladmin
shutdown
. Si le service fonctionne lors de
l'extinction de Windows, ce dernier va stopper automatiquement
le serveur.
Depuis MySQL 3.23.44, vous avez le choix d'installer le
serveur comme un service Manuel
, si vous ne
voulez pas que le serveur soit lancé automatiquement au
lancement du serveur Windows. Pour cela, utilisez l'option
--install-manual
plutôt que
--install
:
C:\> C:\mysql\bin\mysqld --install-manual
Pour supprimer un serveur qui a été installé comme service,
commencez par l'arrêter s'il fonctionnait. Puis, utilisez
l'option --remove
pour le supprimer :
C:\> C:\mysql\bin\mysqld --remove
Pour les versions MySQL antérieure à la 3.23.49, un
problème avec l'arrêt automatique réside dans le fait que
Windows n'attend que quelques secondes avant l'extinction
complète, et tue les processus si cette limite est
dépassée. C'est la cause de problème potentiels (par
exemple, le moteur InnoDB
devra faire une
restauration de base au prochain redémarrage). Depuis MySQL
3.23.49, Windows attend suffisamment longtemps pour que le
serveur s'arrête. Si vous remarquez que ce n'est pas
suffisant pour votre installation, il est plus prudent de ne
pas faire tourner MySQL comme un service. Au lieu de cela,
lancez-le en ligne de commande, et stoppez-le avec
mysqladmin shutdown
.
L'augmentation du délai d'attente de Windows fonctionne avec
Windows 2000 et XP. Elle ne fonctionne pas pour Windows NT,
où Windows attend 20s l'extinction d'un service. Vous pouvez
augmenter cette valeur par défaut en ouvrant la base de
registres :
\winnt\system32\regedt32.exe
, et en
éditant la valeur de
WaitToKillServiceTimeout
à
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
.
Spécifiez une nouvelle valeur plus grande, exprimée en
millisecondes. Par exemple, la valeur de 120000 indique à
Windows NT d'attendre 2 minutes (120 secondes).
Si vous ne voulez pas lancer mysqld
comme
un service, vous pouvez le lancer en ligne de commande, comme
vous le faites sur les versions qui ne sont pas Windows NT.
Pour des instructions, voyez
Section 2.2.9, « Démarrer MySQL depuis la ligne de commande Windows ».
Voyez Section 2.2.10.1, « Résolution de problèmes d'installation de MySQL sous Windows » si vous rencontrez des difficultés durant l'installation.
Vous pouvez tester le bon fonctionnement du serveur MySQL en exécutant une des commandes suivantes :
C:\>C:\mysql\bin\mysqlshow
C:\>C:\mysql\bin\mysqlshow -u root mysql
C:\>C:\mysql\bin\mysqladmin version status proc
C:\>C:\mysql\bin\mysql test
Si mysqld est lent à répondre sur les
connexions TCP/IP depuis les clients sur Windows 9x/Me, c'est
qu'il y a vraisemblablement un problème sur vos DNS. Dans ce
cas, lancez mysqld avec l'option
--skip-name-resolve
et utilisez uniquement le
serveur localhost
et les IP au format
numérique dans la colonne Host
des tables de
droits de MySQL.
Vous pouvez forcer un client MySQL à utiliser les connexions de
pipes nommés à la place de TCP/IP en spécifiant l'option
--pipe
ou en spécifiant un point
.
comme nom d'hôte. Utilisez l'option
--socket
pour spécifier le nom du pipe. Depuis
MySQL 4.1, vous pouvez utiliser l'option
--protocol=PIPE
.
Il y a deux version des utilitaires de ligne de commande MySQL sous Windows :
Binary | Description |
mysql | Compilé nativement sur Windows, avec des capacités limitées d'édition de texte. |
mysqlc | Compilé avec le compilateur Cygnus GNU et les bibliothèques
associées, qui offre les fonctionnalités d'édition de
readline . mysqlc a
été originellement prévu pour être le principal
outil avec Windows 9x/Me. Il ne supporte pas le nouveau
protocole d'identification de MySQL 4.1, et il n'est pas
supporté à partir de MySQL 4.1. Depuis MySQL 4.1.8, il
n'est plus inclus dans les distributions Windows de
MySQL. |
Pour utiliser mysqlc, vous devez avoir une
copie de la bibliothèque cygwinb19.dll
installée là où mysqlc peut la trouver. Si
votre distribution ne dispose pas de
cygwinb19.dll
dans le dossier
bin
sous le dossier racine de MySQL,
recherchez-la dans le dossier lib
et copiez
la dans le dossier système de Windows
(\Windows\system
ou équivalent).
Lorsque vous installez et lancez MySQL pour la première fois, vous pouvez rencontrer des erreurs qui empêchent MySQL de démarrer. Le but de cette section est de vous aider à comprendre et corriger ces erreurs.
Votre première ressource lorsque vous rencontrez un problème
est le log d'erreurs. Le serveur MySQL utilise un log d'erreur
pour enregistrer les informations pertinentes relevant d'une
erreur. Le log d'erreur est situé dans le dossier de
données, spécifié dans votre fichier de configuration
my.ini
. Le dossier de données par
défaut est C:\mysql\data
. See
Section 5.9.1, « Le log d'erreurs ».
L'autre source d'information sur les erreurs possibles est la console, qui affiche les messages que MySQL envoie. Utilisez la commande NET START mysql depuis la ligne de commande après avoir installé mysqld comme service, pour voir apparaître les messages d'erreur du lancement de MySQL comme service. See Section 2.2.9.1, « Lancer MySQL comme un service Windows ».
Ci-dessous, vous trouverez les exemples des messages d'erreurs les plus courants lors du premier lancement du serveur MySQL :
System error 1067 has occurred. Fatal error: Can't open privilege tables: Table 'mysql.host' doesn't exist
Ce message survient lorsque le serveur ne peut pas trouver la
table de droits mysql
ou d'autres fichiers
critiques. Cette erreur survient lorsque la base de mysql ou
le dossier de données est installé dans un autre dossier que
le dossier par défaut : C:\mysql
et
C:\mysql\data
, respectivement.
Si vous avez installé MySQL dans un autre dossier que
C:\mysql
, vous devez vous assurer que le
serveur MySQL le sait grâce à son fichier de configuration,
my.ini
. Le fichier
my.ini
a besoin d'être situé dans le
dossier Windows, typiquement C:\WinNT
ou
C:\WINDOWS
. Vous pouvez déterminer sa
localisation exacte à partir de la valeur de la variable
d'environnement WINDIR
, grâce à la
commande suivante :
C:\> echo %WINDIR%
Un fichier d'option peut être créé et modifié avec
n'importe quel editeur de texte, tel que
Notepad
. Par exemple, si MySQL est
installé dans le dossier E:\mysql
et que
les données sont situées dans
D:\MySQLdata
, vous pouvez créer un
fichier d'options avec une section [mysqld]
pour spécifier la valeur du dossier de données et ses
paramètres :
[mysqld] # set basedir to your installation path basedir=E:/mysql # set datadir to the location of your data directory datadir=D:/MySQLdata
Notez que les noms de chemins Windows sont spécifiés en utilisant des slashes, plutôt que des anti-slash. Si vous utilisez des anti-slash, vous devez les doubler :
[mysqld] # set basedir to your installation path basedir=C:\\Program Files\\mysql # set datadir to the location of your data directory datadir=D:\\MySQLdata
Lors de la mise à jour de MySQL sous Windows, suivez ces instructions :
Téléchargez la dernière version de MySQL pour Windows.
Cherchez un horaire dans la journée où l'utilisation du serveur est faible, et où une interruption de service est acceptable.
Prévenez les utilisateurs que vous allez interrompre le serveur.
Stoppez le serveur MySQL (par exemple, avec la commande
NET STOP MySQL
ou avec l'utilitaire deServices
si vous utilisez MySQL sous forme de service, ou encore avecmysqladmin shutdown
).Quittez le programme
WinMySQLAdmin
, s'il fonctionnait.Exécutez les scripts d'installation de la distribution Windows, en cliquant sur le bouton "Install" dans WinZip et en suivant les instructions d'installation.
Note importante : Les premières versions des distributions Windows de MySQL 4.1 n contenaient pas de programme d'installation. Voyez "Windows binary installation" pour les instructions d'installation d'une telle distribution.
Vous pouvez écraser votre précédente installation (généralement installée dans
C:\mysql
), ou l'installer dans un nouveau dossier, commeC:\mysql4
. Supprimer l'ancienne version est recommandée.Relancez le serveur (par exemple, avec
NET START MySQL
si vous utilisez MySQL comme un service, ou directement avec la commandemysqld
).Mettez à jour les tables de droits. La procédure est décrite dans la section Section 2.6.7, « Mise à jour des tables de droits ».
Situations possibles :
A system error has occurred. System error 1067 has occurred. The process terminated unexpectedly.
Cette erreur signifie que votre fichier d'options, qui est par
défaut C:\my.cnf
, contient une option qui
n'est pas reconnue par MySQL. Vous pouvez vérifier que c'est le
cas en renommant le fichier my.cnf
en
my_cnf.old
, pour éviter que le serveur
l'utilise. S'il démarre correctement, il vous faut alors
identifier la partie du fichier d'options cause le problème.
Créez un nouveau fichier my.cnf
, puis
déplacez progressivement toutes les parties de l'ancien fichier
d'options, en redémarrant le serveur entre deux copies : vous
allez identifier à coup sur le problème.
MySQL pour Windows a prouvé qu'il était très stable. Cette version de MySQL a les mêmes fonctionnalités que la version Unix, a quelques exceptions :
Windows 95 et les threads
Windows 95 perd environs 200 octets de mémoire central lors de la création de chaque thread. Chaque connexion MySQL crée un nouveau thread, ce qui fait qu'il n'est pas recommandé d'exécuter
mysqld
pour des durées longues sur Windows 95 si votre serveur gère de nombreuses connexions. Les autres versions de Windows ne souffrent pas du même problème.Nombre limités de ports de connexions
Les systèmes Windows disposent d'environs 4,000 pour les connexions clientes, et après connexion, cela prend de 2 à 4 minutes avant qu'un port soit de nouveau utilisable. Dans des situations où les clients se connectent et se déconnectent à haute vitesse, il est possible que tous les ports soient utilisés, avant que les anciens ports ne redeviennent utilisables. Lorsque cela arrive, le serveur semblera inaccessible, même s'il fonctionne bien. Notez que des ports peuvent aussi être utilisées par d'autres applications, ce qui réduit encore le nombre de ports disponibles pour MySQL.
Lectures concurrentes
MySQL dépends des fonctions
pread()
etpwrite()
pour être capable de mêler desINSERT
et desSELECT
. Actuellement, nous utilisons lesmutexes
pour émuler les fonctionspread()
/pwrite()
. Nous allons, à long terme, remplacer ce niveau d'interface par une interface virtuelle de fa¸on à ce que nous puissions utiliser l'interfacereadfile()
/writefile()
deWindows NT/2000/XP
pour gagner de la vitesse. L'implémentation courante limite le nombre de fichiers ouverts par MySQL à 1024, ce qui signifie que vous ne pouvez pas utiliser d'aussi nombreux threads concurrents surWindows NT/2000/XP
que sur Unix.Blocking read
MySQL utilise une lecture bloquée pour chaque connexion. Cela signifie que :
Une connexion ne sera pas déconnectée automatiquement après 8 heures d'inactivité, comme c'est le cas sous Unix.
Si une connexion se bloque, il est impossible de la détruire sans tuer MySQL.
mysqladmin kill
ne fonctionne pas sur une connexion endormie.mysqladmin shutdown
ne peut pas s'exécuter tant qu'il y a des connexions qui dorment.
Nous envisageons de corriger ce problème, lorsque les développeurs Windows auront fourni un palliatif.
DROP DATABASE
Vous ne pouvez pas détruire une base qui est utilisée par un autre thread.
Interrompre MySQL depuis le gestionnaire de tâches
Vous ne pouvez pas tuer MySQL depuis le gestionnaire de tâche ou avec un utilitaire d'extinction de Windows 95. Vous devez l'éteindre avec
mysqladmin shutdown
.Noms sensibles à la casse
Les noms de fichiers sont insensibles à la casse sous Windows, ce qui fait que les noms de tables et de bases ne sont pas sensibles à la casse pour MySQL sur Windows. La seule restriction est que les noms de tables et de bases doivent être donnés avec même casse dans le nom (tout en majuscules, ou en minuscules). See Section 9.2.2, « Sensibilité à la casse pour les noms ».
Le caractère ‘
\
’Les composants d'un chemin sont séparés par le caractère ‘
\
’ sous Windows, qui est aussi le caractère de protection de MySQL. Si vous utilisez la commandeLOAD DATA INFILE
ouSELECT ... INTO OUTFILE
, vous devez doubler le caractère ‘\
’ :mysql>
LOAD DATA INFILE "C:\\tmp\\skr.txt" INTO TABLE skr;
mysql>SELECT * INTO OUTFILE 'C:\\tmp\\skr.txt' FROM skr;
Alternativement, vous pouvez utiliser les noms de fichiers au format Unix, avec le caractère ‘
/
’ :mysql>
LOAD DATA INFILE "C:/tmp/skr.txt" INTO TABLE skr;
mysql>SELECT * INTO OUTFILE 'C:/tmp/skr.txt' FROM skr;
Problèmes avec les pipes
Les pipes ne fonctionnent pas de manière fiables depuis la ligne de commande Windows. Si le pipe re¸oit un caractère
^Z
/CHAR(24)
, Windows va croire qu'il atteint la fin du fichier et arrête le programme.C'est un problème, notamment lorsque vous essayez d'utiliser le log binaire de cette manière :
mysqlbinlog binary-log-name | mysql --user=root
Si vous rencontrez un problème lors de l'utilisation du log, et que vous pensez que c'est à cause du caractère
^Z
/CHAR(24)
, vous pouvez utiliser le palliatif suivant :mysqlbinlog binary-log-file --result-file=/tmp/bin.sql mysql --user=root --execute "source /tmp/bin.sql"
Cette dernière commande peut aussi être utilisée pour lire fiablement tout fichier SQL qui contient des données binaires.
L'erreur
Can't open named pipe
Si vous utilisez MySQL 3.22 sous
NT
avec les derniers clients mysql, vous allez obtenir cette erreur :error 2017: can't open named pipe to host: . pipe...
Ceci est dû au fait que les versions modernes de MySQL utilisent des pipes nommés sous
NT
, par défaut. Pour éviter cette erreur, vous devez utiliser l'option--host=localhost
sur les nouveaux clients, ou bien créer le fichier d'optionsC:\my.cnf
, qui contiendra les informations suivantes :[client] host = localhost
Depuis la version 3.23.50, les pipes nommés sont les seuls activés si
mysqld
est démarré avec--enable-named-pipe
.Erreur
Access denied for user
Si vous rencontrez l'erreur
Access denied for user: 'utilisateur@unknown' to database 'mysql'
lors de l'accès au serveur MySQL sur la même machine, cela signifie que MySQL ne peut résoudre proprement votre nom d'hôte.Pour corriger cela, vous devriez créer un fichier
\windows\hosts
dans l'information suivante :127.0.0.1 localhost
ALTER TABLE
Lorsque vous exécutez la commande
ALTER TABLE
, la table est verrouillé, empêchant les autres threads d'y accéder. Cela est lié au fait que sous Windows, vous ne pouvez pas effacer un fichier qui est en cours d'utilisation par d'autres threads : à l'avenir, vous pourrions trouver un moyen de contourner ce problème.DROP TABLE
La commande
DROP TABLE
sur une table qui est utilisée dans le cadre d'unMERGE
ne fonctionne pas sous Windows, car le gestionnaire deMERGE
garde la carte des tables cachée de la couche supérieure de MySQL. Comme Windows ne vous autorise pas à effacer des fichiers qui sont ouverts, vous devez d'abord vider de la mémoire toutes les tables duMERGE
(avec la commandeFLUSH TABLES
) puis effacer la tableMERGE
avant d'effacer les tables. Nous allons corriger cela lorsque nous introduirons la notion deVIEW
s.DATA DIRECTORY
etINDEX DIRECTORY
Les directives
DATA DIRECTORY
etINDEX DIRECTORY
deCREATE TABLE
sont ignorées sous Windows, car Windows ne supporte pas les liens symboliques.
Voici quelques problèmes connus et pas encore corrigés, si jamais quelqu'un souhaite nous aider sur la version Windows :
Ajouter des icônes pour le démarrage et l'arrêt de MySQL, dans l'installateur.
Il serait vraiment pratique de pouvoir arrêter le processus
mysqld
depuis le gestionnaire de tâches. Pour le moment, il faut passer parmysqladmin shutdown
.Le port de
readline
sur Windows pour pouvoir l'utiliser avec l'outil de ligne de commandemysql
.Des versions graphiques des clients standards MySQL (
mysql
,mysqlshow
,mysqladmin
etmysqldump
) seraient bien.Il serait bien si les fonctions de lecture et d'écriture sur les sockets de
net.c
pouvaient être interrompues. Cela rendrait possible l'arrêt des threads en court avecmysqladmin kill
sous Windows.Ajouter des macros pour utiliser les méthodes rapides d'incrément/décrément compatibles avec les threads, fourni par Windows.
Il est recommandé d'installer MySQL sous Linux en utilisant un
fichier RPM
. Les RPM
de
MySQL sont actuellement compilé sur une Red Hat en version 6.2,
mais devraient fonctionner sur toute autre version de Linux qui
supporte rpm
et utilise
glibc
. Pour obtenir les paquets
RPM
, voyez la section
Section 2.1.3, « Comment obtenir MySQL ? ».
Note : les distributions
RPM
de MySQL sont souvent fournies par
d'autres éditeurs. Soyez prévenus qu'elles peuvent contenir
des fonctionnalités différents de celles proposées par
MySQL AB
, et les instructions de ce manuel ne
s'appliquent pas forcément. Les instructions de l'éditeur
doivent alors être utilisées.
Si vous avez des problèmes avec un fichier
RPM
, si vous obtenez par exemple l'erreur
``Sorry, the host 'xxxx' could not be looked
up
'', référez vous à
Section 2.8.1.2, « Notes relatives à Linux pour les distributions binaires ».
Dans la plupart des cas, vous n'aurez besoin que d'installer les
paquets du serveur MySQL
et du
client MySQL
pour obtenir une installation
MySQL fonctionnelle. Les autres paquets ne sont pas nécessaires
pour une installation standard. Si vous voulez utiliser la
version MySQL Max
qui a des fonctionnalités
supplémentaires, vous devez installer le RPM
MySQL-Max
. Cependant, il est recommandé de
ne faire cela qu'après avoir installé le
RPM
MySQL-server
. See
Section 5.1.2, « mysqld-max
, la version étendue du serveur
mysqld
».
Si vous obtenez une message d'erreur de dépendance lors de
l'installation des paquets MySQL 4.0 (par exemple,
``error: removing these paquets would break
dependencies: libmysqlclient.so.10 is needed by
...
''), vous devriez aussi installer le paquet
MySQL-shared-compat
, qui inclut les
bibliothèques partagées pour compatibilité ascendante
(libmysqlclient.so.12
pour MySQL 4.0 et
libmysqlclient.so.10
pour MySQL 3.23).
De nombreuses distributions Linux sont livrés avec MySQL 3.23,
et elle sont dynamiquement liées à d'autres applications pour
économiser de l'espace. Si ces bibliothèques partagées sont
dans un paquet séparé (par exemple,
MySQL-shared
), il suffit de laisser le paquet
installé, puis de mettre à jour le serveur et les clients qui
sont statiquement liés à la bibliothèque, et ne dépendent
pas des bibliothèques partagées. Pour les distributions qui
incluent les bibliothèques partagées dans le même paquet que
le serveur MySQL, (par exemple, Red Hat Linux), vous pouvez soit
installer notre RPM
MySQL-shared
3.23, soit utiliser le paquet
MySQL-shared-compat
.
Les fichiers RPM
dont vous pourriez avoir
besoin sont :
MySQL-server-VERSION.i386.rpm
Le serveur MySQL. Vous en aurez besoin à moins que vous ne vouliez que vous connectez à un serveur MySQL tournant sur une autre machine. Notez bien : les fichiers du
RPM
de serveur étaient appelésMySQL-VERSION.i386.rpm
avant MySQL 4.0.10. C'est à dire qu'ils n'avaient pas le mot-server
dans leur nom.MySQL-Max-VERSION.i386.rpm
Le serveur MySQL Max. Ce serveur a des capacités supplémentaires par rapport au serveur
MySQL-server
. Vous devez installer leRPM
MySQL-server
d'abord, parce que leRPM
MySQL-Max
dépend de lui.MySQL-client-VERSION.i386.rpm
Les programmes clients MySQL standards. Vous avez certainement besoin d'installer ce paquet.
MySQL-bench-VERSION.i386.rpm
Tests et bancs d'essai. Nécessite Perl et les modules
RPM
msql et mysql.MySQL-devel-VERSION.i386.rpm
Bibliothèques et fichiers d'inclusions dont vous aurez besoin pour compiler d'autres clients MySQL, tels que les modules Perl.
MySQL-shared-VERSION.i386.rpm
Ce paquet contient les bibliothèques partagées (
libmysqlclient.so*
) que certains langages et applications recherchent pour les charger dynamiquement, afin d'utiliser MySQL.MySQL-shared-compat-VERSION.i386.rpm
Ce paquet inclut la bibliothèque partagée pour MySQL 3.23 et MySQL 4.0. Installez ce paquet au lieu de
MySQL-shared
, si vous avec des applications installée qui utilisent dynamiquement MySQL 3.23 mais que vous voulez passez à MySQL 4.0 sans briser les dépendances. Ce paquet est disponible depuis MySQL 4.0.13.MySQL-embedded-VERSION.i386.rpm
La bibliothèque intégrée MySQL (depuis MySQL 4.0).
MySQL-VERSION.src.rpm
Celui-ci contient le code source de tous les paquets précédents. Il peut donc être utilisé pour construire des fichiers
RPM
pour d'autres architectures (par exemple, l'Alpha ou le SPARC).
Pour voir tous les fichiers présents dans un paquet
RPM
, lancez :
shell> rpm -qpl MySQL-VERSION.i386.rpm
Pour effectuer une installation standard minimale, lancez :
shell> rpm -i MySQL-VERSION.i386.rpm MySQL-client-VERSION.i386.rpm
Pour installer uniquement le paquet du client MySQL, lancez :
shell> rpm -i MySQL-client-VERSION.i386.rpm
Les RPM
fournissent une fonctionnalité qui
permet de vérifier l'authenticité du paquet avant de
l'installer. Si vous voulez en savoir plus sur cette
fonctionnalité, voyez
Section 2.1.4, « Vérifier l'intégrité des paquets avec MD5
ou
GnuPG
».
Le fichier RPM
place les données dans
/var/lib/mysql
. Le RPM
crée aussi les entrées appropriées dans
/etc/rc.d/
pour lancer le serveur
automatiquement au démarrage. (Cela signifie que, si vous avez
déjà effectué une installation auparavant, vous pouvez avoir
besoin de faire une sauvegarde de vos fichiers de démarrage
précédents si vous les changez, de fa¸on à ne pas les
perdre.) Voyez Section 2.5.2.2, « Lancer et arrêter MySQL automatiquement » pour plus
d'informations sur comment démarrer automatiquement MySQL au
lancement du serveur.
Si vous voulez installer le RPM
MySQL sur une
ancienne distribution MySQL, qui ne supporte pas les scripts
d'initialisation de /etc/init.d
(directement ou via un lien symbolique), vous devez créer un
lien symbolique qui pointe sur le dossier où les scripts
d'initialisation sont installés. Par exemple, si ce dossier est
/etc/rc.d/init.d
, utilisez une de ces
commandes avant d'installer le RPM
, pour
créer /etc/init.d
sous forme de lien
symbolique, qui pointe ici :
shell> cd /etc; ln -s rc.d/init.d .
Cependant, toutes les distributions Linux courantes doivent
supporter le nouveau dossier /etc/init.d
,
car c'est imposé par la compatibilité LSB (Linux
Standard Base
).
Si les fichiers RPM
que vous installez
incluent MySQL-server
, le démon
mysqld
devrait fonctionner après
l'installation. Vous devriez être capable d'utiliser MySQL
immédiatement.
Si quelque chose cloche, vous pouvez trouver plus d'information dans le chapitre d'installation binaire. See Section 2.3, « Installer MySQL sur d'autres systèmes type Linux ».
Note : Les comptes qui sont listés dans les tables de droits MySQL initiales n'ont pas de mot de passe. Après démarrage du serveur, il est recommandé de configurer ces mots de passe, en suivant les instructions de la section Section 2.5, « Procédure de post-installation ».
Depuis MySQL 4.0.11, vous pouvez installer MySQL sur Mac OS X
10.2 ("Jaguar") avec le paquet binaire Mac OS X
PKG
au lieu d'utiliser la distribution
binaire compressée. Notez que les anciennes versions de Mac OS
X (i.e. 10.1.x) ne sont pas supportées par ce paquet.
Le paquet est situé dans une image disque
(.dmg
), que vous devez monter en
double-cliquant son icône sur le Finder
. Le
disque devrait alors se monter, et afficher son contenu.
Pour télécharger MySQL, voyez Section 2.1.3, « Comment obtenir MySQL ? ».
Note : avant de lancer
l'installation, assurez vous qu'il n'y a pas de serveur MySQL en
fonctionnement! Arrêtez tous les serveurs MySQL avant de
continuer, soit en utilisant l'application manager (pour les
serveurs Mac OS X) ou via mysqladmin shutdown
en ligne de commande.
Pour installer le paquet MySQL, double-cliquez sur l'icône. Cela va lancer l'installeur de paquet MacOSX, qui vous guidera durant l'installation.
A cause d'un bug dans l'installeur de paquets MySQL, vous pourriez rencontrer le message d'erreur
You cannot install this software on this disk. (null)
dans le dialogue de sélection du disque de destination. Si
cette erreur survient, cliquez sur le bouton de retour
(Go Back
) pour retourner à l'écran
précédent. Puis, cliquez sur le bouton d'avance
(Continue
) pour passer à nouveau à la page
de sélection des disques. Nous avons indiqué ce bug à Apple,
qui travaille sur le sujet.
Le paquet Mac OS X de MySQL va s'installer lui-même dans le
dossier /usr/local/mysql-VERSION
et va
aussi ajouter un lien symbolique
/usr/local/mysql
, qui pointe sur le nouveau
dossier. Si un dossier appelé
/usr/local/mysql
existe déjà, il sera
renommé en /usr/local/mysql.bak
. De plus,
il va installer les tables de droits MySQL en exécutant le
script mysql_install_db
après
l'installation.
Le schéma d'installation est semblable à celui de la
distribution binaire, tous les programmes MySQL sont situés
dans le dossier /usr/local/mysql/bin
. Les
sockets MySQL sont installées dans le fichier
/etc/mysql.sock
par défaut. See
Section 2.1.5, « Dispositions d'installation ».
L'installation requiert un compte nommé
mysql
(qui existe par défaut en Mac OS X
10.2 et plus récent).
Si vous utilisez Mac OS X Server, vous devez avoir déjà une version de MySQL installée :
Version Mac OS X Server | Version MySQL |
10.2-10.2.2 | 3.23.51 |
10.2.3-10.2.6 | 3.23.53 |
10.3 | 4.0.14 |
10.3.2 | 4.0.16 |
Cette section du manuel couvre l'installation du paquet binaire
MySQL pour Mac OS X uniquement. Assurez vous de bien lire l'aide
d'Apple concernant l'installation de MySQL (Lancer le
visualiseur d'aide, sélectionnez la rubrique "Serveur
Mac OS X
", et faites une recherche sur "MySQL", puis
lisez l'entrée appelée "Installing MySQL
").
Notez bien que la version pre-installée de MySQL sur Mac OS X
Server peut être lancée avec la commande
safe_mysqld
au lieu de
mysqld_safe
!
Si vous avez utilisé auparavant les paquets MySQL de Marc Liyanage pour Mac OS X, depuis le site de http://www.entropy.ch, vous pouvez simplement suivre le processus de mise à jour, en utilisant les conseils de ses pages.
Si vous faites une mise à jour depuis les versions de Marc, ou depuis une ancienne version de MySQL pour Mac OS X Server, avec le nouveau paquet officiel, vous devrez convertir les tables de droits. See Section 2.6.3, « Passer de la version 3.23 à la version 4.0 ».
Si vous voulez lancer automatiquement MySQL au démarrage du
système, vous devez aussi installer le MySQL Startup
Item
. Depuis MySQL 4.0.15, il fait partie du disque
d'installation MySQL pour Mac OS X dans un paquet séparé. Il
suffit de double-cliquer sur l'icône
MySQLStartupItem.pkg
et de suivre les
instructions pour l'installer.
Notez que le MySQL Startup Item
ne doit être
installé qu'une seule fois. Il n'y a pas besoin de me mettre à
jour avec les versions de MySQL.
Le MySQL Startup Item
est installé dans le
dossier /Library/StartupItems/MySQLCOM
.
(Avant MySQL 4.1.2, le dossier était
/Library/StartupItems/MySQL
, mais cela
créait un conflit avec le MySQL Startup Item
du serveur Mac OS X Server
.) Il ajoute la
variable MYSQLCOM=-YES-
au fichier de
configuration /etc/hostconfig
. Si vous
voulez désactiver le démarrage automatique de MySQL, modifiez
simplement la variable avec MYSQLCOM=-NO-
.
Sur Mac OS X Server, l'installation par défaut de MySQL utilise
la variable MYSQL
dans
/etc/hostconfig
. Le MySQL Startup
Item
désactive cette variable en lui donnant la
valeur de MYSQL=-NO-
. Cela évite que des
conflit de démarrage surviennent, si la variable
MYSQLCOM
est utilisée par MySQL
Startup Item
. Cependant, cela n'éteint pas un serveur
MySQL en fonctionnement.
Après cette installation, vous pouvez lancer le serveur MySQL avec ces commandes, exécutées dans terminal. Notez bien que vous devez avoir des droits d'administrateur pour cela!
Si vous avez installé le MySQL Startup
Item
:
shell> sudo /Library/StartupItems/MySQL/MySQL start
(Enter your password, if necessary)
(Press Control-D or enter "exit" to exit the shell)
Si vous n'avez pas installé le MySQL Startup
Item
:
shell>cd /usr/local/mysql
shell>sudo ./bin/mysqld_safe
(Enter your password) (Press CTRL+Z) shell>bg
(Press CTRL+D to exit the shell)
Vous devez alors être capable de vous connecter au serveur
MySQL, notamment en exécutant la commande
/usr/local/mysql/bin/mysql
.
Note : cette procédure ne configure aucun mot de passe pour les comptes MySQL. Après avoir suivi cette procédure, lisez la section Section 2.5, « Procédure de post-installation », pour les instructions de post-installation et les tests.
Vous pouvez faire cela avec les commandes suivantes :
/usr/local/mysql/bin/mysqladmin -u root password <password> /usr/local/mysql/bin/mysqladmin -u root -h `hostname` password <password>
Vous pouvez aussi ajouter des alias à votre fichier de
ressource Shell, pour accéder à mysql
et
mysqladmin
depuis la ligne de commande :
alias mysql '/usr/local/mysql/bin/mysql' alias mysqladmin '/usr/local/mysql/bin/mysqladmin'
Alternativement, vous pouvez simplement ajouter
/usr/local/mysql/bin
à votre variable
d'environnement PATH
, par exemple, en
ajoutant la ligne suivante dans votre fichier
$HOME/.tcshrc
:
setenv PATH ${PATH}:/usr/local/mysql/bin
Si aucun fichier .tcshrc
n'existe dans
votre dossier d'utilisateur, créez le avec un éditeur texte.
Notez que l'installation d'un nouveau paquet MySQL ne supprimer pas le dossier d'une vieille installation : l'installeur de Mac OS X n'offre pas encore les fonctionnalités nécessaires pour mettre à jour proprement une vieille version.
Après avoir copié les fichiers de bases depuis votre ancien
dossier vers le nouveau, et que vous avez réussi à redémarrer
MySQL avec la nouvelle version, vous devriez pensez à supprimer
les vieilles versions des fichiers, situées dans
/Library/Receipts/mysql-<version>.pkg
.
Porter MySQL sur NetWare
a été un effort
dirigé par Novell
. Les clients Novell seront
heureux de constater que NetWare 6.5 est distribué avec les
exécutables MySQL et une licence de support commercial pour
tous les serveurs qui fonctionnent sur cette version de NetWare.
MySQL pour NetWare est compilé avec une combinaison de
Metrowerks CodeWarrior pour NetWare
et de
version spéciales de compilation de GNU
autotools
.
Les derniers paquets binaires pour NetWare sont disponibles sur le site http://dev.mysql.com/downloads/. See Section 2.1.3, « Comment obtenir MySQL ? ».
Pour pouvoir héberger un serveur MySQL, un serveur NetWare doit avoir les pré-requis suivants.
NetWare version 6.5, ou NetWare 6.0 avec Support Pack 3 installé (vous pouvez obtenir cela sur http://support.novell.com/filefinder/13659/index.html). Le système doit passer les pré-requis minimum de Novell pour faire tourner cette version de NetWare.
Le sytème doit satisfaire les prérequis minimum de NetWare.
Les données MySQL, ainsi que les logiciels, doivent être installés dans un volume NSS; les volumes traditionnels ne sont pas supportés.
Les fichiers binaires de NetWare sont téléchargeables sur le site http://www.mysql.com/downloads/.
Pour installer MySQL pour NetWare, utilisez la procédure suivante :
Si vous mettez à jour une ancienne installation, stoppez le serveur MySQL. Vous pouvez le faire en console, avec la commande suivante :
SERVER: mysqladmin -u root shutdown
Connectez vous sur le serveur depuis une machine cliente, avec un accès à l'endroit où vous voulez installer MySQL.
Décompressez l'archive binaire
zip
sur le serveur. Assurez-vous d'autoriser les chemins utilisés dans l'archive zip. Il est sécuritaire d'utiliser le dossierSYS:\
.Si vous mettez à jour une ancienne installation, vous pouvez copier le dossier de données (par exemple,
SYS:MYSQL\DATA
), ainsi quemy.cnf
si vous l'avez modifié. Vous pouvez alors effacer l'ancienne copie de MySQL.Vous pouvez renommer le dossier avec un nom plus cohérent, et facile à utiliser. Nous recommandons d'utiliser
SYS:MYSQL
; les exemples du manuel feront références à ce dossier d'installation.Depuis la console du serveur, ajoutez un chemin de recherche pour le dossier contenant les
NLM
MySQL. Par exemple :SERVER: SEARCH ADD SYS:MYSQL\BIN
Installez la base de données initiale, si nécessaire, en exécutant le script
mysql_install_db
depuis la console.Lancez le serveur MySQL en utilisant le script
mysqld_safe
depuis la console.Pour finir l'installation, vous devriez aussi installer les commandes suivantes dans le fichier
autoexec.ncf
. Par exemple, si votre installation MySQL est dans le dossierSYS:MYSQL
et que vous voulez que MySQL se lance automatiquement, vous pouvez ajouter ces lignes :#Starts the MySQL 4.0.x database server SEARCH ADD SYS:MYSQL\BIN MYSQLD_SAFE
Si vous utilisez MySQL sur NetWare 6.0, nous vous recommandons fortement d'ajouter l'option
--skip-external-locking
à la ligne de commande :#Starts the MySQL 4.0.x database server SEARCH ADD SYS:MYSQL\BIN MYSQLD_SAFE --skip-external-locking
Il est aussi nécessaire d'utiliser
CHECK TABLE
etREPAIR TABLE
au lieu demyisamchk
, carmyisamchk
utilise un verrouillage externe. Le verrouillage externe est reconnu pour poser des problèmes sur NetWare 6.0; ce problème a été supprimé sur NetWare 6.5.mysqld_safe
sur NetWare fournit un écran de présence. Lorsque vous déchargez (extinction) leNLM
mysqld_safe
, l'écran ne se ferme pas par défaut. Au lieu de cela, il demande une action de l'utilisateur :*<NLM has terminated; Press any key to close the screen>*
Si vous voulez que NetWare ferme automatiquement cet écrant, utilisez l'option
--autoclose
demysqld_safe
. Par exemple :#Starts the MySQL 4.0.x database server SEARCH ADD SYS:MYSQL\BIN MYSQLD_SAFE --autoclose
Le comportement de mysqld_safe
sur NetWare
est décrit plus en détails dans Section 5.1.3, « safe_mysqld
, le script père de
mysqld
».
S'il y avait une installation MySQL sur le serveur, assurez-vous
de vérifier les commandes de démarrage de MySQL dans
autoexec.ncf
, et éditez ou effacez les
autant que nécessaire.
Note : Les comptes qui sont stockés dans les tables de droits n'ont pas de mot de passe initial. Après avoir lancé le serveur, il est recommandé de leur donner des mots de passe en suivant les instructions de la section Section 2.5, « Procédure de post-installation ».
Cette section couvre l'installation des distributions binaires de
MySQL, qui sont fournies pour différentes plate-formes au format
d'archive tar
(les fichiers avec l'extension
.tar.gz
). Voyez
Section 2.1.2.5, « Binaires compilés par MySQL AB » pour une liste détaillée.
Pour télécharger une distribution source de MySQL, voyez Section 2.1.3, « Comment obtenir MySQL ? ».
En plus de ces paquets génériques, nous offrons aussi des compilations spécifiques pour certaines plate-formes. Voyez Section 2.2, « Installation standard rapide de MySQL » pour plus d'information sur leur installation.
Vous avez besoin des utilitaires suivants pour installer une
archive tar
MySQL :
GNU
gunzip
pour décompresser la distribution.Un utilitaire
tar
raisonnable pour ouvrir l'archive. GNUtar
est reconnu pour cette tâche. Certains systèmes d'exploitation disposent d'une version pré-installée detar
qui posent des problèmes. Par exemple, Suntar
et Mac OS Xtar
ont des soucis avec les noms de fichiers longs. Dans ce cas, installez GNUtar
. Sur Mac OS X, vous pouvez installer le logiciel pré-installégnutar
.
Si vous rencontrez des problèmes, utilisez toujours
mysqlbug
pour poser des questions
à la liste MySQL. Même si le problème n'est pas un bogue,
mysqlbug
rassemble des informations sur le
système qui nous aiderons à résoudre votre problème. Si vous
n'utilisez pas mysqlbug
, vous réduisez les
chances de résolution de votre problème. Vous trouverez
mysqlbug
dans le dossier
bin
après avoir décompressé la
distribution. See Section 1.4.1.3, « Comment rapporter un bogue ou un problème ».
Les commandes de base que vous devez exécuter pour installer MySQL à partir des sources sont :
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 &
Pour les versions de MySQL plus ancienne que la 4.0, remplacez
bin/safe_mysqld
par
bin/mysqld_safe
dans la commande finale.
Note : cette procédure ne configure aucun mot de passe pour les comptes MySQL. Après avoir suivi cette procédure, lisez la section Section 2.5, « Procédure de post-installation », pour les instructions de post-installation et les tests.
Plus de détails suivent.
Pour installer une distribution binaire, suivez les étapes suivantes, puis reportez vous à Section 2.5, « Procédure de post-installation », pour la configuration post-installation et les tests :
Ajoutez un utilisateur et un groupe avec les droits desquels
mysqld
fonctionnera :shell>
groupadd mysql
shell>useradd -g mysql mysql
Ces commandes ajoutent le groupe
mysql
group et l'utilisateurmysql
. La syntaxe deuseradd
et degroupadd
peut varier de fa¸on significative suivant les versions d'Unix. Elles peuvent aussi s'appeleradduser
etaddgroup
. Vous pouvez aussi souhaiter nommer le groupe et l'utilisateur autrement quemysql
.Choisissez le dossier dans lequel vous voulez décompresser la distribution, et placez vous-y. Dans l'exemple suivant, nous allons décompresser la distribution dans le dossier
/usr/local
. Les instructions suivantes supposeront que vous avez les droits pour créer des dossiers de des fichiers dans/usr/local
. Si ce dossier est protégé, vous aurez besoin des droits deroot
pour faire l'installation.shell>
cd /usr/local
Téléchargez la distribution sur l'un des sites listé sur Section 2.1.3, « Comment obtenir MySQL ? ».
Les archives MySQL
tar
ont des noms de la formemysql-VERSION-OS.tar.gz
, oùVERSION
est le numéro de version (par exemple,4.0.17
), etOS
indique le système d'exploitation de la distribution (par exemple,pc-linux-gnu-i586
). Pour une version donnée, les distributions binaires pour toutes les plate-formes sont compilées sur les mêmes sources MySQL.Décompressez la distribution dans le répertoire courant :
shell>
gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -
shell>ln -s full-path-to-mysql-VERSION-OS mysql
La commande
tar
crée un dossier appelémysql-VERSION-OS
. La commandeln
crée un lien symbolique dans ce dossier. Cela vous laisse le moyen de transférer facilement votre installation dans le dossier/usr/local/mysql
.Avec GNU
tar
, il n'est pas nécessaire d'utiliser séparéementgunzip
. Vous pouvez remplacer la première ligne par celle-ci pour décompresser et ouvrir l'archive dans le même temps :shell>
tar zxvf /path/to/mysql-VERSION-OS.tar.gz
Placez-vous dans le répertoire racine de la distribution décompressée :
shell>
cd mysql
Vous trouverez plusieurs fichiers et sous dossiers dans le dossier
mysql
. Le plus important pour l'installation sont les dossiersbin
etscripts
.Ce dossier contient les programmes clients et le serveur. Vous devez ajouter le chemin complet de ce dossier à votre variable
PATH
pour que votre shell trouve MySQL facilement. See Annexe E, Variables d'environnement.scripts
Ce dossier contient le script
mysql_install_db
, utilisé pour initialiser la basemysql
, qui contient les tables de droits du serveur.
Si vous n'avez jamais installé MySQL auparavant, vous devez créer les tables de droits :
shell>
scripts/mysql_install_db
Notez que pour les versions de MySQL plus anciennes que la version 3.22.10,
mysql_install_db
laisse le serveur fonctionner après avoir créer les tables. Ce n'est plus vrai : vous devez redémarrer le serveur après avoir exécuté ce script.Changez le propriétaire du binaire pour
root
et le propriétaire des données pour l'utilisateur qui va faire tournermysqld
. En supposant que vous avez installé les données dans le dossier/usr/local/mysql
, la commande est :shell>
chown -R root .
shell>chown -R mysql data
shell>chgrp -R mysql .
La première commande change l'attribut
owner
du fichier pourroot
. La seconde change l'attributowner
du dossier de données pour l'utilisateurmysql
. La troisième change l'attributgroup
pour le groupemysql
.Si vous voulez que MySQL démarre automatiquement après le démarrage de votre serveur, vous pouvez copier le fichier
support-files/mysql.server
là où votre serveur recherche les scripts de démarrage. Plus d'informations sursupport-files/mysql.server
sont disponibles dans Section 2.5.2.2, « Lancer et arrêter MySQL automatiquement ».Vous pouvez configurer de nouveaux comptes en utilisant le script
bin/mysql_setpermission
si vous installez les modules PerlDBI
etDBD::mysql
. Pour des instructions, voyez Section 2.9, « Commentaires sur l'installation de Perl ».Si vous voulez utiliser
mysqlaccess
et avoir accès à la distribution MySQL dans un dossier non-standard, vous devez modifier le chemin oùmysqlaccess
va rechercher le clientmysql
. Editez le scriptbin/mysqlaccess
à la ligne 18, environs. Recherchez une ligne qui ressemble à ceci :$MYSQL = '/usr/local/bin/mysql'; # path to mysql executable
Changez le dossier pour qu'il prenne la valeur que du chemin où
mysql
est situé. Si vous le le faite pas, vous allez recevoir une erreurBroken pipe
lorsque vous utilisezmysqlaccess
.
Après que tout ait été ouvert et installé, il faut tester votre distribution :
Lancez le serveur MySQL avec les commandes suivantes :
shell> bin/mysqld_safe --user=mysql &
Pour les versions de MySQL plus ancienne que 4.0, remplacez
bin/safe_mysqld
par
bin/mysqld_safe
dans la commande.
Puis, passez à Section 5.1.3, « safe_mysqld
, le script père de
mysqld
», et
Section 2.5, « Procédure de post-installation ».
Note : cette procédure ne configure aucun mot de passe pour les comptes MySQL. Après avoir suivi cette procédure, lisez la section Section 2.5, « Procédure de post-installation », pour les instructions de post-installation et les tests.
- 2.4.1. Installation depuis les sources : présentation
- 2.4.2. Options habituelles de
configure
- 2.4.3. Installer à partir de l'arbre source de développement
- 2.4.4. Problèmes de compilation?
- 2.4.5. Notes relatives aux
MIT-pthreads
- 2.4.6. La distribution source Windows
- 2.4.7. Compiler les clients MySQL sous Windows
Avant de procéder à l'installation à partir des sources, vérifiez auparavant que notre distribution binaire pour votre plate-forme ne fonctionne pas. Nous faisons un maximum d'efforts pour nous assurer que nos binaires sont compilés avec les meilleures options possibles.
Les distributions source de MySQL sont fournies sous forme
d'archive tar
, dont le nom est sous la forme
mysql-VERSION.tar.gz
, où
VERSION
est un nombre comme
5.0.6-beta
.
Pour télécharger une distribution source de MySQL, voyez Section 2.1.3, « Comment obtenir MySQL ? ».
Vous avez besoin des outils suivants pour compiler et installer MySQL à partir des sources :
GNU
gunzip
pour décompresser la distribution.Un programme
tar
pour désarchiver la distribution. GNUtar
est connu pour fonctionner. Letar
de Sun connaît quelques problèmes.Un compilateur C++ ANSI fonctionnel.
gcc
>= 2.95.2,egcs
>= 1.0.2 ouegcs 2.91.66
, SGI C++, et SunPro C++ sont quelques-uns des compilateurs réputés pour fonctionner.libg++
n'est pas nécessaire si vous utilisezgcc
.gcc
2.7.x souffre d'un bogue qui l'empêche de compiler quelques fichiers C++ correctement écrits, tels quesql/sql_base.cc
. Si vous disposez seulement degcc
2.7.x, vous devez mettre à jour votregcc
afin de compiler MySQL.gcc
2.8.1 est aussi reconnu pour rencontrer des problèmes sur certaines plate-formes, il devrait donc être désactivé si un autre compilateur existe pour la plate-forme.gcc
>= 2.95.2 est recommandé pour compiler MySQL dans ses versions 3.23.x.Un bon programme
make
. GNUmake
est une fois de plus recommandé et est quelquefois requis. Si vous rencontrez des problèmes, nous vous recommandons d'essayer GNUmake
3.75 ou supérieur.
Si vous utilisez une version récente de gcc
,
suffisamment récente pour reconnaître l'option
-fno-exceptions
, il est très
important que vous l'utilisiez. Sinon, vous risquez de
compiler un binaire qui crashe aléatoirement. Nous recommandons
donc l'utilisation de -felide-constructors
et
-fno-rtti
en même temps que
-fno-exceptions
. En cas de doute, faites la
chose suivante :
CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors -fno-exceptions \ -fno-rtti" ./configure --prefix=/usr/local/mysql --enable-assembler \ --with-mysqld-ldflags=-all-static
Sur la plupart des systèmes, il en résultera un binaire rapide et stable.
Si vous rencontrez des problèmes, utilisez toujours
mysqlbug
pour poster des questions
sur les listes internes. Même si le problème n'est pas un bogue,
mysqlbug
rassemble des informations sur le
système qui aidera les autres à résoudre votre problème. En
n'utilisant pas mysqlbug
, vous amoindrissez vos
chances d'obtenir une solution à votre problème ! Vous
trouverez mysqlbug
dans le répertoire
scripts
après avoir désarchivé la
distribution. See Section 1.4.1.3, « Comment rapporter un bogue ou un problème ».
Les commandes de pages que vous devez exécuter pour installer la distribution source de MySQL sont :
shell>groupadd mysql
shell>useradd -g mysql mysql
shell>gunzip < mysql-VERSION.tar.gz | tar -xvf -
shell>cd mysql-VERSION
shell>./configure --prefix=/usr/local/mysql
shell>make
shell>make install
shell>cp support-files/my-medium.cnf /etc/my.cnf
shell>cd /usr/local/mysql
shell>bin/mysql_install_db
shell>chown -R root .
shell>chown -R mysql var
shell>chgrp -R mysql .
shell>bin/mysqld_safe --user=mysql &
Pour les versions de MySQL 4.0 ou plus récentes, remplacez
bin/safe_mysqld
par
bin/mysqld_safe
dans la commande finale.
Si vous commencez avec un paquet RPM
,
commencez comme ceci :
shell> rpm --rebuild --clean MySQL-VERSION.src.rpm
Cela va compiler un paquet RPM
binaire que
vous pouvez installer.
Note : cette procédure ne configure aucun mot de passe pour les comptes MySQL. Après avoir suivi la procédure, passez à la section Section 2.5, « Procédure de post-installation », pour les instructions de post-installation et de tests.
Une description plus détaillée suit.
Ajoutez un utilisateur et un groupe pour
mysqld
comme ceci :shell>
groupadd mysql
shell>useradd -g mysql mysql
Ces commandes ajoute le groupe
mysql
et l'utilisateurmysql
. La syntaxe deuseradd
etgroupadd
peut différer légèrement suivant votre version d'Unix. Elles peuvent aussi s'appeleradduser
etaddgroup
.Vous pouvez donner un autre nom à l'utilisateur et au groupe, à la place de
mysql
. Si vous le faîtes, adaptez les commandes dans les prochaines instructions.Choisissez un dossier dans lequel vous allez décompresser les sources de MySQL. Rendez vous dans ce dossier.
Téléchargez une distribution sur un des sites listés sur Section 2.1.3, « Comment obtenir MySQL ? ».
Décompressez la distribution dans le dossier courant :
shell>
gunzip < /path/to/mysql-VERSION.tar.gz | tar xvf -
Cette commande crée un dossier appelé
mysql-VERSION
.Avec GNU
tar
, il n'est pas besoin de faire un appel séparé àgunzip
. Vous pouvez utilise cette commande alternative pour décompresser et extraire la distribution :shell>
tar zxvf /path/to/mysql-VERSION-OS.tar.gz
Placez vous à la racine de la distribution :
shell>
cd mysql-VERSION
Notez qu'actuellement, vous devez configurer et compiler MySQL depuis la racine de la distribution. Vous ne pouvez pas la compiler ailleurs.
Configurer votre version et compilez le tout :
shell>
./configure --prefix=/usr/local/mysql
shell>make
Lorsque vous exécutez le code
configure
, vous pouvez aussi ajouter des options. Utilisez la commande./configure --help
pour avoir une liste des options disponibles. Section 2.4.2, « Options habituelles deconfigure
», présente certaines options pratiques.Si
configure
échoue et que vous allez envoyer un courriel aux listes MySQL pour demander de l'aide, ajouter surtout le contenu du fichierconfig.log
qui vous semblent pertinentes. Incluez aussi les dernières lignes affichées parconfigure
. Postez votre rapport de bug avec le scriptmysqlbug
. See Section 1.4.1.3, « Comment rapporter un bogue ou un problème ».Si la compilation échoue, voyez la section Section 2.4.4, « Problèmes de compilation? », pour avoir de l'aide immédiate sur les problèmes les plus courants.
Installez la distribution :
shell>
make install
Si vous voulez écrire un fichier d'option, utilisez un des fichiers présents dans le dossier
support-files
comme exemple. Par exemple,shell>
cp support-files/my-medium.cnf /etc/my.cnf
Il est possible que vous ayez à éxécuter certaines commandes en tant que
root
.Si vous voulez ajouter le support des tables
InnoDB
, vous devez éditer le fichier/etc/my.cnf
, supprimer le caractère#
dans les lignes d'options qui commencent parinnodb_...
, et donnez à ces options la valeur que vous souhaitez. Voyez Section 4.3.2, « Fichier d'optionsmy.cnf
» et Section 15.4, « ConfigurationInnoDB
».Déplacez vous dans le dossier d'installation :
shell>
cd /usr/local/mysql
Si vous n'avez jamais installé MySQL auparavant, vous devez créer les tables de droits :
shell>
bin/mysql_install_db
Si vous utilisez la commande en tant que
root
, il est recommandé d'utiliser l'option--user
présentée. La valeurde l'option doit être le nom de l'utilisateur créé dans les premières étapes pour faire fonctionner le serveur. Si vous exécutez la commande après vous être connecté sous cet utilisateur, vous pouvez omettre l'utilisation de l'option--user
.Notez que pour les versions de MySQL plus anciennes que la version 3.22.10,
mysql_install_db
laisse le serveur en fonctionnement après avoir créé les tables. Ce n'est plus vrai. Vous devez démarrer le serveur vous-même après avoir fait les dernières étapes d'installation.Changez le propriétaire des éxécutables pour les donner à
root
et le propriétaire des données por les donner àmysqld
. En supposant que vous êtes dans le dossier d'installation,/usr/local/mysql
, la commande ressemble à ceci :shell>
chown -R root .
shell>chown -R mysql var
shell>chgrp -R mysql .
La première commande modifie l'attribut
owner
des fichiers pour les donner àroot
user. La seconde donner les fichiers de données àmysql
. La troisième commande change le groupegroup
pour les donner au groupemysql
.Si vous voulez que MySQL se lance automatiquement au démarrage de votre serveur, vous pouvez copier le fichier
support-files/mysql.server
là ou votre système cherche les fichiers de démarrage. Plus d'informations sont disponibles dans le scriptsupport-files/mysql.server
et dans la section Section 2.5.2.2, « Lancer et arrêter MySQL automatiquement ».Vous pouvez créer de nouveaux comptes en utilisant le script
bin/mysql_setpermission
si vous avez installé les modules PerlDBI
etDBD::mysql
. Pour les instructions, voyez Section 2.9, « Commentaires sur l'installation de Perl ».
Après avoir installé tout, il est recommandé d'initialiser et tester votre installation avec cette commande :
shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &
Pour les versions de MySQL plus ancienne que 4.0, remplacez
bin/safe_mysqld
par
bin/mysqld_safe
dans la commande.
Si la commande échoue immédiatement avec le message
mysqld ended
, vous pouvez trouver certaines
informations dans le fichier
mysql-data-directory/'hostname'.err
.
Plus d'informations sur mysqld_safe
sont
disponibles dans Section 5.1.3, « safe_mysqld
, le script père de
mysqld
».
Note : les comptes qui sont listés dans les tables de droits MySQL n'ont pas de mot de passe initial. Après le démarrage du serveur, il est recommandé de configurer les mots de passe en utilisant les instructions de Section 2.5, « Procédure de post-installation ».
Le script configure
vous donne un bon moyen
de contrôler la configuration de votre distribution MySQL.
Habituellement, vous faites cela en spécifiant les options dans
la ligne de commande de configure
. Vous
pouvez aussi affecter le comportement de
configure
en utilisant certaines variables
d'environnement. See Annexe E, Variables d'environnement.
Pour une liste des options supportées par
configure
, exécutez cette commande :
shell> ./configure --help
Les options de configure
les plus utilisées
sont décrites ici :
Pour ne compiler que les bibliothèques et programmes clients, et non le serveur, utilisez l'option
--without-server
:shell>
./configure --without-server
Si vous n'avez pas de compilateur C++,
mysql
ne compilera pas (c'est le programme client qui requière C++). Dans ce cas, vous pouvez supprimer la partie de code dansconfigure
qui vérifie l'existence d'un compilateur C++, puis exécuter./configure
avec l'option--without-server
. La compilation essaiera encore de construiremysql
, mais vous pouvez ignorer les messages d'erreurs concernantmysql.cc
. (Simake
stoppe, essayezmake -k
pour dire de continuer même si on rencontre des erreurs.)Si vous voulez obtenir une bibliothèque MySQL intégrée (
libmysqld.a
) vous devez utiliser l'option--with-embedded-server
.Si vous ne voulez pas que vos fichiers de log et bases de données soient dans
/usr/local/var
, utiliser une commandeconfigure
se rapprochant de l'une des commandes suivantes :shell>
./configure --prefix=/usr/local/mysql
shell>./configure --prefix=/usr/local \
--localstatedir=/usr/local/mysql/data
La première change le préfixe de l'installation pour que tout soit installé dans
/usr/local/mysql
au lieu de/usr/local
par défaut. La seconde commande préserve le préfixe d'installation par défaut mais change le répertoire par défaut pour les bases de données (normalement/usr/local/var
) en/usr/local/mysql/data
. Après que vous ayez compilé MySQL, vous pouvez changer ces options dans les fichiers d'options. See Section 4.3.2, « Fichier d'optionsmy.cnf
».Si vous utilisez Unix et que vous voulez que la socket de MySQL soit à un autre endroit que celui par défaut (normalement
/tmp
ou/var/run
) utilisez une commandeconfigure
comme celle-ci :shell>
./configure \
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
Notez que le fichier donné doit avoir un chemin absolu ! Vous pourrez aussi changer le chemin vers
mysql.sock
plus tard en utilisant les fichiers d'options de MySQL. See Section A.4.5, « Comment protéger ou changer le fichier socket/tmp/mysql.sock
».Si vous voulez compiler des programmes liés statiquement (par exemple, pour créer une distribution binaire, pour obtenir plus de vitesse, ou pour résoudre des problèmes avec quelques distributions RedHat Linux), exécutez
configure
de la manière suivante :shell>
./configure --with-client-ldflags=-all-static \
--with-mysqld-ldflags=-all-static
Si vous utilisez
gcc
et n'avez paslibg++
oulibstdc++
d'installés, vous pouvez dire àconfigure
d'utilisergcc
en tant que compilateur C++ :shell>
CC=gcc CXX=gcc ./configure
Quand vous utilisez
gcc
en tant que compilateur C++, aucune tentative de liaison aveclibg++
oulibstdc++
ne sera effectuée. Il peut être bon d'utiliser cette méthode même si vous avez les bibliothèques citées, car quelques versions de celles-ci ont causé des problèmes à des utilisateurs MySQL par le passé.Voici quelques variables d'environnement à définir selon le compilateur que vous utilisez :
gcc
2.7.2 :CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors"
egcs
1.0.3a :CC=gcc CXX=gcc CXXFLAGS="-O3 -felide-constructors \ -fno-exceptions -fno-rtti"
gcc
2.95.2 :CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro \ -felide-constructors -fno-exceptions -fno-rtti"
pgcc
2.90.29 ou plus récent :CFLAGS="-O3 -mpentiumpro -mstack-align-double" CXX=gcc \ CXXFLAGS="-O3 -mpentiumpro -mstack-align-double \ -felide-constructors -fno-exceptions -fno-rtti"
Dans la plupart des cas, vous pouvez obtenir un binaire MySQL raisonnablement optimal en utilisant les options de la table précédente et en ajoutant les options suivantes aux lignes de configuration :
--prefix=/usr/local/mysql --enable-assembler \ --with-mysqld-ldflags=-all-static
En d'autres termes, la ligne de configuration ressemble à ce qui suit pour les versions récentes de gcc :
CFLAGS="-O3 -mpentiumpro" CXX=gcc CXXFLAGS="-O3 -mpentiumpro \ -felide-constructors -fno-exceptions -fno-rtti" ./configure \ --prefix=/usr/local/mysql --enable-assembler \ --with-mysqld-ldflags=-all-static
Les binaires que nous fournissons sur le site de MySQL à http://www.mysql.com/ sont tous compilés avec une optimisation totale et devraient être parfaits pour la plupart des utilisateurs. See Section 2.1.2.5, « Binaires compilés par MySQL AB ». Il y a quelques choses que vous pouvez modifier pour rendre le binaire encore plus rapide, mais cela est réservé aux utilisateurs avancés. See Section 7.5.4, « Influences de la compilation et des liaisons sur la vitesse de MySQL ».
Si la génération échoue et produit des erreurs disant que votre compilateur ou outil de liaison n'est pas capable de créer la bibliothèque partagée
libmysqlclient.so.#
(‘#
’ étant un numéro de version), vous pouvez contourner ce problème en donnant l'option--disable-shared
àconfigure
. Dans ce cas,configure
ne générera pas de bibliothèque partagéelibmysqlclient.so.#
.Par défaut, MySQL utilise le jeu de caractères ISO-8859-1 (Latin1). Pour changer le jeu par défaut, utilisez l'option
--with-charset
:shell>
./configure --with-charset=CHARSET
CHARSET
peut être l'un desbig5
,cp1251
,cp1257
,czech
,danish
,dec8
,dos
,euc_kr
,gb2312
,gbk
,german1
,hebrew
,hp8
,hungarian
,koi8_ru
,koi8_ukr
,latin1
,latin2
,sjis
,swe7
,tis620
,ujis
,usa7
, ouwin1251ukr
. See Section 5.8.1, « Le jeu de caractères utilisé pour les données et le stockage ».Depuis MySQL 4.1.1, la collation par défaut peut aussi être spécifiée. MySQL utilise la collation
latin1_swedish_ci
. Pour le changer, utilisez l'option--with-collation
:shell>
./configure --with-collation=COLLATION
Pour changer le jeu de caractères et la collation, utilisez les options
--with-charset
et--with-collation
. La collation doit être valide pour le jeu de caractères spécifié. Utilisez la commandeSHOW COLLATION
pour déterminer les collations valides pour un jeu de caractères donné.Si vous voulez convertir les caractères entre le serveur et le client, regardez du côté de la commande
SET CHARACTER SET
. See Section 13.5.2.8, « Syntaxe deSET
».Attention : Si vous changez les jeux de caractères après avoir crée des tables, vous devrez exécuter
myisamchk -r -q --set-character-set=charset
sur chaque table. Vos index pourraient être stockés de manière incorrecte sinon. (Cela peut survenir si vous installez MySQL, créez quelques tables, puis reconfigurez MySQL pour qu'il utilise un jeu de caractères différent et le réinstallez.)Avec l'option
--with-extra-charsets=LIST
vous pouvez définir les jeux de caractères additionnels à compiler dans le serveur.Ici
LIST
est soit une liste de jeux de caractères séparés par des espaces, soitcomplex
pour inclure tous les jeux de caractères ne pouvant être chargés dynamiquement, ou encoreall
pour inclure tous les jeux de caractères dans les binaires.Pour configurer MySQL avec le code de débogage, utilisez l'option
--with-debug
:shell>
./configure --with-debug
Cela alloue un vérificateur d'allocation de mémoire qui peut trouver quelques erreurs et qui fournit des informations sur ce qui se produit. See Section D.1, « Déboguer un serveur MySQL ».
Si vos programmes clients utilisent les threads, vous avez besoin de compiler une version sûre pour les threads de la bibliothèque du client MySQL avec l'option de configuration
--enable-thread-safe-client
. Cela créera une bibliothèquelibmysqlclient_r
avec laquelle vous devez lier vos applications threadées. See Section 24.2.15, « Comment faire un client MySQL threadé ».Les options relatives à un système d'exploitation particulier peuvent être trouvées dans la section spécifique aux systèmes de ce manuel. See Section 2.8, « Notes spécifiques aux systèmes d'exploitation ».
Attention : Vous devez lire cette partie seulement si vous voulez nous aider à tester notre nouveau code. Si vous souhaitez seulement faire fonctionner MySQL sur votre système, vous devriez utiliser la distribution d'une version standard (que ce soit une distribution sous forme de sources ou de binaire).
Pour obtenir notre arbre source de développement le plus réent, suivez les instructions suivantes :
Téléchargez
BitKeeper
à partir de http://www.bitmover.com/cgi-bin/download.cgi. Vous aurez besoin deBitkeeper
2.0 ou supérieur pour accéder à notre dépôt.Suivez les instructions pour l'installer.
Après avoir installé
BitKeeper
, commencez par vous déplacer dans le répertoire à partir duquel vous voulez travailler, et lancez l'une des commandes suivantes pour dupliquer la branche MySQL de votre choix :Pour dupliquer la branche 3.23, utilisez cette commande :
shell>
bk clone bk://work.mysql.com:7000 mysql-3.23
Pour dupliquer la branche 4.0, utilisez cette commande :
shell>
bk clone bk://work.mysql.com:7001 mysql-4.0
Pour dupliquer la branche 4.1, utilisez cette commande :
shell>
bk clone bk://work.mysql.com:7004 mysql-4.1
Pour dupliquer la branche 5.0, utilisez cette commande :
shell>
bk clone bk://mysql.bkbits.net/mysql-5.0 mysql-5.0
Dans l'exemple précédent, les sources seront respectivement placées dans les dossiers
mysql-3.23/
,mysql-4.0/
,mysql-4.1/
oumysql-5.0/
, de votre dossier courant.Si vous êtes derrière un firewall et que vous ne pouvez utiliser que des connexions HTTP, vous pouvez aussi accéder à
BitKeeper
via HTTP.Si vous devez utiliser un serveur proxy, assignez la variable d'environnement
http_proxy
pour qu'elle pointe sur votre proxy :shell>
export http_proxy="http://your.proxy.server:8080/"
Puis, remplacez le protocole
bk://
parhttp://
lors de votre export. Par exemple :shell>
bk clone http://mysql.bkbits.net/mysql-4.1 mysql-4.1
Le premier téléchargement de l'arbre source peut prendre un certain temps, selon la vitesse de votre connexion. Soyez patients.
Vous aurez besoin de GNU
make
,autoconf
2.53 (ou plus récent),automake
1.5,libtool
1.4 etm4
pour lancer la prochaine série de commandes. Même si la plupart des systèmes d'exploitation sont livrés avec leur propre implémentation demake
, les chances sont fortes pour que la compilation échoue avec des messages d'erreur étranges. Par conséquent, il est fortement recommandé d'utiliser GNUmake
(parfois aussi appelégmake
).Heureusement, d'autres systèmes d'exploitation sont livrés avec les utilitaires GNU, ou propose des paquets facilement installables. Dans tous les cas, vous pouvez les télécharger sur ces sites :
Si vous essayez ded configurer MySQL 4.1 ou plus récent, vous aurez besoin de GNU
bison
1.75 ou plus récent. Les anciennes versions debison
peuvent indiquer cette erreur :sql_yacc.yy:#####: fatal error: maximum table size (32767) exceeded
Note : la taille maximale de la table n'est pas dépassée. L'erreur est causée par un bug dans les versions plus anciennes de
bison
.Les versions de MySQL avant la version 4.1 peuvent aussi se compiler avec d'autres versions de
yacc