mysql 5.0 reference manual · oracle corporation and its affiliates disclaim any liability for any...

1540
MySQL 5.0 Reference Manual

Upload: vodan

Post on 10-Sep-2018

234 views

Category:

Documents


0 download

TRANSCRIPT

  • MySQL 5.0 Reference Manual

  • MySQL 5.0 Reference ManualThis is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original ReferenceManual is in English, and this translation is not necessarily as up to date as the English version.

    Copyright 1997, 2010, Oracle and/or its affiliates. All rights reserved.

    This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protectedby intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce,translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverseengineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

    The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report themto us in writing.

    Si ce logiciel, ou la documentation qui l'accompagne, est concd sous licence au Gouvernement des Etats-Unis, ou toute entit qui dlivre lalicence de ce logiciel ou l'utilise pour le compte du Gouvernement des Etats-Unis, la notice suivante s'applique :

    U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Governmentcustomers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation andagency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictionsand license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, theadditional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway,Redwood City, CA 94065.

    This software is developed for general use in a variety of information management applications. It is not developed or intended for use in anyinherently dangerous applications, including applications which may create a risk of personal injury. If you use this software in dangerousapplications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure the safe use of thissoftware. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software in dangerous applications.

    Oracle is a registered trademark of Oracle Corporation and/or its affiliates. MySQL is a trademark of Oracle Corporation and/or its affiliates, andshall not be used without Oracle's express written authorization. Other names may be trademarks of their respective owners.

    This software and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporationand its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services.Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-partycontent, products, or services.

    This document in any form, software or printed matter, contains proprietary information that is the exclusive property of Oracle. Your access toand use of this material is subject to the terms and conditions of your Oracle Software License and Service Agreement, which has been executedand with which you agree to comply. This document and information contained herein may not be disclosed, copied, reproduced, or distributed toanyone outside Oracle without prior written consent of Oracle or as specifically provided below. This document is not part of your license agreementnor can it be incorporated into any contractual agreement with Oracle or its subsidiaries or affiliates.

    This documentation is NOT distributed under a GPL license. Use of this documentation is subject to the following terms:

    You may create a printed copy of this documentation solely for your own personal use. Conversion to other formats is allowed as long as theactual content is not altered or edited in any way. You shall not publish or distribute this documentation in any form or on any media, except if youdistribute the documentation in a manner similar to how Oracle disseminates it (that is, electronically for download on a Web site with the software)or on a CD-ROM or similar medium, provided however that the documentation is disseminated together with the software on the same medium.Any other use, such as any dissemination of printed copies or use of this documentation, in whole or in part, in another publication, requires theprior written consent from an authorized representative of Oracle. Oracle and/or its affiliates reserve any and all rights to this documentation notexpressly granted above.

    For more information on the terms of this license, for details on how the MySQL documentation is built and produced, or if you are interested indoing a translation, please visit MySQL Contact & Questions.

    For additional licensing information, including licenses for libraries used by MySQL products, see Preface.

    If you want help with using MySQL, please visit either the MySQL Forums or MySQL Mailing Lists where you can discuss your issues with otherMySQL users.

    For additional documentation on MySQL products, including translations of the documentation into other languages, and downloadable versions invariety of formats, including HTML and PDF formats, see the MySQL Documentation Library.

    Rsum

    Document generated on: 2014-05-24 (version: 294)

    http://dev.mysql.com/doc/mysql/enhttp://dev.mysql.com/contact/http://forums.mysql.comhttp://lists.mysql.comhttp://dev.mysql.com/doc

  • iii

    Table des matiresPreface ........................................................................................................................................... xxiii1 Informations gnrales .................................................................................................................... 1

    1.1 A propos du manuel ............................................................................................................. 21.1.1 Conventions utilises dans ce manuel ........................................................................ 3

    1.2 Prsentation du systme de bases de donnes MySQL ......................................................... 41.2.1 Histoire de MySQL .................................................................................................... 61.2.2 Les fonctionnalits principales de MySQL ................................................................... 61.2.3 Jusqu' quel point MySQL est il stable ? ..................................................................... 91.2.4 Quelles tailles peuvent atteindre les tables MySQL .................................................... 101.2.5 Compatibilit an 2000 .............................................................................................. 11

    1.3 Plan de dveloppement de MySQL ..................................................................................... 121.3.1 MySQL 4.0 en bref .................................................................................................. 131.3.2 MySQL 4.1 en bref .................................................................................................. 151.3.3 MySQL 5.0, les prochains dveloppements ............................................................... 16

    1.4 Sources d'informations MySQL ............................................................................................ 161.4.1 Listes de diffusion MySQL ........................................................................................ 161.4.2 Support de la communaut MySQL sur IRC (Internet Relay Chat) .............................. 241.4.3 Support de la communaut MySQL sur les forums MySQL ........................................ 24

    1.5 Quels standards respecte MySQL ? .................................................................................... 251.5.1 Quels standards suit MySQL ? ................................................................................. 251.5.2 Slectionner les modes SQL .................................................................................... 251.5.3 Excuter MySQL en mode ANSI .............................................................................. 261.5.4 Extensions MySQL au standard SQL-92 ................................................................... 261.5.5 Diffrences entre MySQL et le standard SQL-92 ....................................................... 291.5.6 Comment MySQL gre les contraintes ...................................................................... 351.5.7 Erreurs connues, et limitations de MySQL ................................................................. 37

    2 Installer MySQL ............................................................................................................................. 452.1 Notes gnrales propos de l'installation ............................................................................ 46

    2.1.1 Systmes d'exploitation supports par MySQL .......................................................... 472.1.2 Choisir votre version de MySQL ............................................................................... 492.1.3 Comment obtenir MySQL ? ...................................................................................... 592.1.4 Vrifier l'intgrit des paquets avec MD5 ou GnuPG .................................................... 592.1.5 Dispositions d'installation .......................................................................................... 62

    2.2 Installation standard rapide de MySQL ................................................................................ 632.2.1 Installer MySQL sous Windows ................................................................................ 642.2.2 Choisir un paquet d'installation ................................................................................. 652.2.3 Installer MySQL avec l'assistant automatique ............................................................ 652.2.4 Installation de MySQL avec l'assistant ...................................................................... 652.2.5 Utiliser l'assistant de configuration ............................................................................ 682.2.6 Installer MySQL partir d'une archive ZIP sans assistant ........................................... 732.2.7 Extraction de l'archive d'installation ........................................................................... 732.2.8 Crer un fichier d'options ......................................................................................... 732.2.9 Dmarrer MySQL depuis la ligne de commande Windows .......................................... 772.2.10 Tester son installation MySQL ................................................................................ 792.2.11 Mettre jour MySQL sous Windows ....................................................................... 812.2.12 Installer MySQL sous Linux .................................................................................... 852.2.13 Installer MySQL sur Mac OS X ............................................................................... 872.2.14 Installer MySQL sur NetWare ................................................................................. 89

    2.3 Installer MySQL sur d'autres systmes type Linux ................................................................ 912.4 Installation de MySQL avec une distribution source .............................................................. 94

    2.4.1 Installation depuis les sources : prsentation ............................................................. 95

  • MySQL 5.0 Reference Manual

    iv

    2.4.2 Options habituelles de configure ........................................................................... 972.4.3 Installer partir de l'arbre source de dveloppement ................................................ 1002.4.4 Problmes de compilation? ..................................................................................... 1032.4.5 Notes relatives aux MIT-pthreads ........................................................................ 1072.4.6 La distribution source Windows ............................................................................... 1082.4.7 Compiler les clients MySQL sous Windows ............................................................. 112

    2.5 Procdure de post-installation ............................................................................................ 1122.5.1 Post-installation sous Windows ............................................................................... 1122.5.2 Procdures de post-installation sous Unix ............................................................... 1132.5.3 Cration des premiers droits MySQL ....................................................................... 124

    2.6 Changer de version de MySQL ......................................................................................... 1272.6.1 Passer en de version 4.1 en version 5.0 ................................................................. 1282.6.2 Passer de la version 4.0 la version 4.1 ................................................................. 1282.6.3 Passer de la version 3.23 la version 4.0 ............................................................... 1322.6.4 Passer de la version 3.22 la version 3.23 ............................................................. 1352.6.5 Passer de la version 3.21 la version 3.22 ............................................................. 1372.6.6 Passer de la version 3.20 la version 3.21 ............................................................. 1372.6.7 Mise jour des tables de droits .............................................................................. 1382.6.8 Migrer depuis une autre architecture ....................................................................... 139

    2.7 Rduire de version de MySQL .......................................................................................... 1402.7.1 Revenir en version 4.1 ........................................................................................... 1412.7.2 Revenir en version 4.0 ........................................................................................... 142

    2.8 Notes spcifiques aux systmes d'exploitation .................................................................... 1422.8.1 Notes relatives Linux (toutes versions) ................................................................. 1422.8.2 Notes relatives Mac OS X ................................................................................... 1502.8.3 Notes pour Solaris ................................................................................................. 1502.8.4 Notes relatives BSD ............................................................................................ 1542.8.5 Notes sur les autres Unix ....................................................................................... 1582.8.6 Notes relatives OS/2 ........................................................................................... 1672.8.7 Notes relatives BeOS .......................................................................................... 168

    2.9 Commentaires sur l'installation de Perl ............................................................................... 1682.9.1 Installer Perl sur Unix ............................................................................................. 1682.9.2 Installer ActiveState Perl sur Windows .................................................................... 1692.9.3 Problmes lors de l'utilisation des interfaces Perl DBI et DBD ................................... 170

    3 Tutoriels d'introduction ................................................................................................................. 1733.1 Connexion et dconnexion au serveur ............................................................................... 1733.2 Entrer des requtes .......................................................................................................... 1743.3 Cration et utilisation d'une base de donnes .................................................................... 177

    3.3.1 Crer et slectionner une base de donnes ............................................................ 1783.3.2 Cration d'une table ............................................................................................... 1793.3.3 Charger des donnes dans une table ..................................................................... 1813.3.4 Rcuprer des informations partir d'une table ....................................................... 182

    3.4 Obtenir des informations propos des bases de donnes et des tables ............................... 1953.5 Utilisation de mysql en mode batch .................................................................................. 1963.6 Exemples de requtes usuelles ......................................................................................... 198

    3.6.1 La valeur maximale d'une colonne .......................................................................... 1983.6.2 La ligne contenant le maximum d'une certaine colonne ............................................ 1993.6.3 Maximum d'une colonne par groupe ....................................................................... 1993.6.4 La ligne contenant la plus grande valeur d'un certain champ par rapport ungroupe ............................................................................................................................ 2003.6.5 Utiliser les variables utilisateur ................................................................................ 2013.6.6 Utiliser les clefs trangres ..................................................................................... 2013.6.7 Recherche sur deux clefs ....................................................................................... 2023.6.8 Calcul du nombre de visites par jour ....................................................................... 203

  • MySQL 5.0 Reference Manual

    v

    3.6.9 Utiliser AUTO_INCREMENT ...................................................................................... 2033.7 Requtes du projet Twin ................................................................................................... 204

    3.7.1 Trouver tous les jumeaux rpondant aux critres ..................................................... 2053.7.2 Afficher une table avec l'tat des paires de jumeaux ................................................ 207

    3.8 Utilisation de MySQL avec Apache .................................................................................... 2074 Utiliser les programmes MySQL ................................................................................................... 209

    4.1 Prsentation des logiciels MySQL ...................................................................................... 2094.2 Appeler des programmes MySQL ...................................................................................... 2104.3 Spcifier des options aux programmes .............................................................................. 211

    4.3.1 Options de ligne de commande de mysqld ............................................................. 2114.3.2 Fichier d'options my.cnf ........................................................................................ 2124.3.3 Utiliser les variables d'environnement pour spcifier des options ............................... 2164.3.4 Utiliser les options pour configurer des variables de programme ............................... 216

    5 Administration du serveur ............................................................................................................. 2195.1 Scripts serveur MySQL et utilitaires ................................................................................... 220

    5.1.1 Prsentation des scripts serveurs et des utilitaires ................................................... 2205.1.2 mysqld-max, la version tendue du serveur mysqld .............................................. 2215.1.3 safe_mysqld, le script pre de mysqld ................................................................ 2235.1.4 Le script de dmarrage mysql.server ................................................................. 2265.1.5 mysqld_multi, un programme pour grer plusieurs serveurs MySQL ..................... 227

    5.2 Configuration de MySQL ................................................................................................... 2305.2.1 Options de ligne de commande de mysqld ............................................................. 2305.2.2 Le mode SQL du serveur ....................................................................................... 2405.2.3 Variables serveur systme ...................................................................................... 2445.2.4 Variables de statut du serveur ................................................................................ 267

    5.3 Le processus d'extinction de MySQL ................................................................................. 2745.4 Scurit gnrale du serveur ............................................................................................. 275

    5.4.1 Guide de scurit ................................................................................................... 2755.4.2 Protger MySQL contre les attaques ....................................................................... 2775.4.3 Options de dmarrage qui concernent la scurit .................................................... 2795.4.4 Problmes de scurit avec LOAD DATA LOCAL .................................................... 280

    5.5 Rgles de scurit et droits d'accs au serveur MySQL ...................................................... 2815.5.1 Rle du systme de privilges ................................................................................ 2815.5.2 Comment fonctionne le systme de droits ............................................................... 2815.5.3 Droits fournis par MySQL ....................................................................................... 2855.5.4 Se connecter au serveur MySQL ............................................................................ 2875.5.5 Contrle d'accs, tape 1 : Vrification de la connexion ........................................... 2885.5.6 Contrle d'accs, tape 2 : Vrification de la requte ............................................... 2925.5.7 Quand les modifications de privilges prennent-ils effets ? ....................................... 2945.5.8 Causes des erreurs Access denied .................................................................... 2955.5.9 Hashage de mots de passe en MySQL 4.1 ............................................................. 300

    5.6 Gestion des comptes utilisateurs de MySQL ...................................................................... 3045.6.1 Nom d'utilisateurs MySQL et mots de passe ............................................................ 3045.6.2 Ajouter de nouveaux utilisateurs MySQL .............................................................. 3055.6.3 Supprimer un compte utilisateur de MySQL ............................................................. 3085.6.4 Limiter les ressources utilisateurs ........................................................................... 3085.6.5 Configurer les mots de passe ................................................................................. 3105.6.6 Garder vos mots de passe en lieu sr .................................................................... 3115.6.7 Utilisation des connexions scurises ..................................................................... 312

    5.7 Prvention des dsastres et restauration ........................................................................... 3195.7.1 Sauvegardes de base de donnes .......................................................................... 3195.7.2 Exemples de stratgie de sauvegarde et restauration .............................................. 3215.7.3 Utilisation de myisamchk pour la maintenance des tables et leur recouvrement ......... 3255.7.4 Mettre en place un rgime d'entretien de MySQL ..................................................... 337

  • MySQL 5.0 Reference Manual

    vi

    5.7.5 Obtenir des informations sur une table .................................................................... 3385.8 Localisation MySQL et utilisation internationale .................................................................. 342

    5.8.1 Le jeu de caractres utilis pour les donnes et le stockage ..................................... 3425.8.2 Langue des messages d'erreurs ............................................................................. 3435.8.3 Ajouter un nouveau jeu de caractres ..................................................................... 3445.8.4 Le tableau de dfinition des caractres ................................................................... 3465.8.5 Support d'assemblage des chanes ......................................................................... 3465.8.6 Support des caractres multi-octets ........................................................................ 3465.8.7 Problmes avec les jeux de caractres ................................................................... 3475.8.8 Support des fuseaux horaires avec MySQL ............................................................. 347

    5.9 Les fichiers de log de MySQL ........................................................................................... 3485.9.1 Le log d'erreurs ...................................................................................................... 3495.9.2 Le log gnral de requtes ..................................................................................... 3495.9.3 Le log de modification ............................................................................................ 3505.9.4 Le log binaire ......................................................................................................... 3505.9.5 Le log des requtes lentes ..................................................................................... 3535.9.6 Entretien des fichiers de log ................................................................................... 354

    5.10 Faire fonctionner plusieurs serveurs MySQL sur la mme machine .................................... 3545.10.1 Utiliser plusieurs serveurs MySQL un serveur Windows .......................................... 3565.10.2 Utiliser plusieurs serveurs sous Unix ..................................................................... 3595.10.3 Utiliser les clients dans un environnement multi-serveur ......................................... 360

    5.11 Cache de requtes MySQL ............................................................................................. 3615.11.1 Comment fonctionne le cache de requtes ............................................................ 3625.11.2 Options relatives au cache de requtes dans un SELECT ....................................... 3635.11.3 Configuration du cache de requtes ...................................................................... 3635.11.4 Statut du cache de requtes et maintenance ......................................................... 365

    6 Rplication de MySQL ................................................................................................................. 3676.1 Introduction la rplication ............................................................................................... 3676.2 Prsentation de l'implmentation de la rplication ............................................................... 3686.3 Dtails d'implmentation de la rplication ........................................................................... 368

    6.3.1 Etat de rplication du matre ................................................................................... 3706.3.2 Etats du thread esclave d'E/S ................................................................................. 3706.3.3 Etats des esclaves de rplication ............................................................................ 3716.3.4 Fichiers de relais et de statut de la rplication ......................................................... 372

    6.4 Comment mettre en place la rplication ............................................................................. 3746.5 Compatibilit de la rplication entre les versions de MySQL ................................................ 3786.6 Changer de version de rplication ..................................................................................... 378

    6.6.1 Passer la rplication version 4.0 .......................................................................... 3786.6.2 Passer la rplication version 5.0 .......................................................................... 379

    6.7 Fonctionnalits de la rplication et problmes connus ......................................................... 3796.8 Options de dmarrage de la rplication .............................................................................. 3826.9 FAQ de la rplication ........................................................................................................ 3916.10 Correction de problmes courants ................................................................................... 3966.11 Rapporter des bugs de rplication ................................................................................... 397

    7 Optimisation de MySQL ............................................................................................................... 3997.1 Prsentation de l'optimisation ............................................................................................ 400

    7.1.1 Limitations et inconvnients des choix conceptuels de MySQL .................................. 4007.1.2 Portabilit ............................................................................................................... 4017.1.3 Pour quoi avons nous utilis MySQL ? .................................................................... 4027.1.4 La suite de tests MySQL ........................................................................................ 4037.1.5 Utiliser vos propres tests de performance ................................................................ 404

    7.2 Optimisation des commandes SELECT et autres requtes ................................................... 4057.2.1 Syntaxe de EXPLAIN (Obtenir des informations sur les SELECT) .............................. 4057.2.2 Mesurer les performances d'une requte ................................................................. 413

  • MySQL 5.0 Reference Manual

    vii

    7.2.3 Vitesse des requtes SELECT ................................................................................. 4147.2.4 Comment MySQL optimise les clauses WHERE ........................................................ 4147.2.5 Optimisation d'intervalle .......................................................................................... 4167.2.6 Optimisation de combinaison d'index ....................................................................... 4197.2.7 Comment MySQL optimise IS NULL ...................................................................... 4227.2.8 Comment MySQL optimise DISTINCT .................................................................... 4227.2.9 Comment MySQL optimise les clauses LEFT JOIN et RIGHT JOIN ........................ 4237.2.10 Comment MySQL optimise ORDER BY .................................................................. 4247.2.11 Comment MySQL optimise les clauses GROUP BY ................................................ 4267.2.12 Comment MySQL optimise LIMIT ........................................................................ 4277.2.13 Comment viter les analyses de tables ................................................................. 4287.2.14 Vitesse des requtes INSERT ............................................................................... 4287.2.15 Vitesses des commandes UPDATE ........................................................................ 4307.2.16 Rapidit des requtes DELETE ............................................................................. 4317.2.17 Autres conseils d'optimisation ............................................................................... 431

    7.3 Verrouillage de tables ....................................................................................................... 4347.3.1 Mthodes de verrouillage ....................................................................................... 4347.3.2 Problme de verrouillage de tables ......................................................................... 436

    7.4 Optimiser la structure de la base de donnes .................................................................... 4377.4.1 Conception ............................................................................................................. 4377.4.2 Rendre vos tables aussi compactes que possible .................................................... 4387.4.3 Index de colonnes .................................................................................................. 4397.4.4 Index sur plusieurs colonnes .................................................................................. 4397.4.5 Comment MySQL utilise les index .......................................................................... 4407.4.6 Le cache de cl des tables MyISAM ........................................................................ 4437.4.7 Comment MySQL compte les tables ouvertes .......................................................... 4477.4.8 Quand MySQL ouvre et ferme les tables ................................................................. 4477.4.9 Inconvnients de la cration d'un grand nombre de tables dans la mme base dedonnes ......................................................................................................................... 448

    7.5 Optimiser le serveur MySQL ............................................................................................. 4497.5.1 Rglage du systme, au moment de la compilation, et paramtres du dmarrage ....... 4497.5.2 Rglage des paramtres du serveur ....................................................................... 4497.5.3 Contrle des performances de l'optimisateur de requtes ......................................... 4527.5.4 Influences de la compilation et des liaisons sur la vitesse de MySQL ......................... 4527.5.5 Comment MySQL gre la mmoire ......................................................................... 4547.5.6 Comment MySQL utilise le DNS ............................................................................. 455

    7.6 Problmes avec les disques .............................................................................................. 4567.6.1 Utiliser des liens symboliques ................................................................................. 457

    8 MySQL Scripts clients et utilitaires ............................................................................................... 4618.1 Prsentation des scripts serveurs et utilitaires .................................................................... 4618.2 myisampack, le gnrateur de tables MySQL compresses en lecture seule ....................... 4638.3 mysql, l'outil en ligne de commande ................................................................................. 469

    8.3.1 Commandes mysql ............................................................................................... 4748.3.2 Comment excuter des commandes SQL depuis un fichier texte .............................. 4778.3.3 Conseils avec mysql ............................................................................................. 477

    8.4 mysqladmin, administration d'un serveur MySQL .............................................................. 4798.5 mysqlbinlog, Excuter des requtes dans le log binaire .................................................. 4838.6 mysqlcc, MySQL Control Center ...................................................................................... 4868.7 Utiliser mysqlcheck pour l'entretien et la rparation .......................................................... 4888.8 mysqldump, sauvegarde des structures de tables et les donnes ....................................... 4918.9 mysqlhotcopy, copier les bases et tables MySQL ............................................................ 4978.10 mysqlimport, importer des donnes depuis des fichiers texte ......................................... 4998.11 Afficher les bases, tables et colonnes .............................................................................. 5018.12 perror, expliquer les codes d'erreurs ............................................................................. 503

  • MySQL 5.0 Reference Manual

    viii

    8.13 L'utilitaire de remplacement de chanes replace ............................................................. 5039 Structure du langage ................................................................................................................... 505

    9.1 Littraux : comment crire les chanes et les nombres ........................................................ 5059.1.1 Chanes ................................................................................................................. 5059.1.2 Nombres ................................................................................................................ 5079.1.3 Valeurs hexadcimales ........................................................................................... 5089.1.4 Valeurs boolennes ................................................................................................ 5089.1.5 Champs de bits ...................................................................................................... 5089.1.6 Valeurs NULL ......................................................................................................... 509

    9.2 Noms de bases, tables, index, colonnes et alias ................................................................ 5099.2.1 Identifiants ............................................................................................................. 5109.2.2 Sensibilit la casse pour les noms ....................................................................... 511

    9.3 Variables utilisateur ........................................................................................................... 5129.4 Variables systme ............................................................................................................. 513

    9.4.1 Variables systme structures ................................................................................ 5149.5 Syntaxe des commentaires ............................................................................................... 5169.6 Cas des mots rservs MySQL ......................................................................................... 517

    10 Jeux de caractres et Unicode ................................................................................................... 52110.1 Jeux de caractres et collation : gnralits ..................................................................... 52210.2 Jeux de caractres et collation dans MySQL .................................................................... 52210.3 Dterminer le jeu de caractres et la collation par dfaut .................................................. 524

    10.3.1 Jeu de caractres et collation serveur ................................................................... 52410.3.2 Jeu de caractres et collation de base de donnes ................................................ 52410.3.3 Jeu de caractres de tables et collation ................................................................. 52510.3.4 Jeu de caractres de colonne et collation .............................................................. 52610.3.5 Exemples d'attribution de jeu de caractres et collation .......................................... 52610.3.6 Jeux de caractres et collations de connexion ....................................................... 52710.3.7 Jeu de caractres et collation des chanes littrales ............................................... 52910.3.8 Clause COLLATE dans diffrentes parties d'une requte SQL ................................. 53010.3.9 COLLATE clause de prcdence ........................................................................... 53010.3.10 Oprateur BINARY ............................................................................................. 53110.3.11 Quelques cas spciaux o la dtermination de la collation est difficile .................... 53110.3.12 Les collation doivent correspondre au bon jeu de caractres ................................. 53210.3.13 Un exemple de l'effet de collation ........................................................................ 533

    10.4 Oprations affectes par le support de jeux de caractres. ................................................ 53310.4.1 Chanes rsultats ................................................................................................. 53310.4.2 CONVERT() .......................................................................................................... 53410.4.3 CAST() ................................................................................................................ 53410.4.4 Commande SHOW ................................................................................................. 535

    10.5 Support de Unicode ........................................................................................................ 53610.6 UTF8 pour les meta-donnes .......................................................................................... 53710.7 Compatibilit avec d'autres bases de donnes ................................................................. 53810.8 Nouveau format de fichier de configuration de jeux de caractres ...................................... 53810.9 Jeux de caractres national ............................................................................................. 53810.10 Prparer le passage de version 4.0 en 4.1 ..................................................................... 539

    10.10.1 Jeux de caractres 4.0 et binmes de jeux de caractres/collations 4.1correspondants ............................................................................................................... 53910.10.2 Conversion de colonnes version 4.0 en version 4.1 .............................................. 540

    10.11 Les jeux de caractres et collation supports par MySQL. ............................................... 54110.11.1 Les jeux de caractre Unicode ............................................................................ 54210.11.2 Les jeux de caractres d'Europe de l'Ouest. ........................................................ 54210.11.3 Les jeux de caractres d'Europe Centrale ............................................................ 54410.11.4 Jeu de caractres pour l'Europe du Sud et le Moyen-Orient .................................. 54410.11.5 Les jeux de caractres baltes ............................................................................. 545

  • MySQL 5.0 Reference Manual

    ix

    10.11.6 Les jeux de caractre cyrilliques ......................................................................... 54510.11.7 Les jeux de caractres asiatiques ....................................................................... 546

    11 Types de colonnes .................................................................................................................... 54911.1 Introduction aux types de colonnes .................................................................................. 550

    11.1.1 Prsentation des types numriques of Numeric Types ............................................ 55011.1.2 Prsentation des types de donnes temporels : dates et heures ............................. 55211.1.3 Prsentation des types de chanes ........................................................................ 553

    11.2 Types numriques ........................................................................................................... 55511.3 Les types date et heure .................................................................................................. 557

    11.3.1 Les types DATETIME, DATE, et TIMESTAMP .......................................................... 55811.3.2 Le type TIME ....................................................................................................... 56211.3.3 Le type YEAR ....................................................................................................... 56311.3.4 An 2000 et les types date ..................................................................................... 563

    11.4 Les types chanes ........................................................................................................... 56411.4.1 Les types CHAR et VARCHAR ................................................................................. 56411.4.2 Les types BINARY and VARBINARY ...................................................................... 56511.4.3 Les types BLOB et TEXT ....................................................................................... 56511.4.4 Le type ENUM ....................................................................................................... 56611.4.5 Le type SET ......................................................................................................... 567

    11.5 Capacits des colonnes .................................................................................................. 56911.6 Choisir le bon type de colonne ........................................................................................ 57011.7 Utilisation des types de donnes issues d'autres SGBDR .................................................. 570

    12 Fonctions utiliser dans les clauses SELECT et WHERE ............................................................... 57312.1 Oprateurs et fonctions tous types ................................................................................... 574

    12.1.1 Prcdence des oprateurs .................................................................................. 57412.1.2 Parenthses ......................................................................................................... 57412.1.3 Oprateurs de comparaison .................................................................................. 57412.1.4 Oprateurs logiques ............................................................................................. 579

    12.2 Les fonctions de contrle ................................................................................................ 58012.3 Fonctions de chanes de caractres ................................................................................. 582

    12.3.1 Oprateurs de comparaison pour les chanes de caractres ................................... 59212.4 Fonctions numriques ..................................................................................................... 594

    12.4.1 Oprations arithmtiques ...................................................................................... 59412.4.2 Fonctions mathmatiques ..................................................................................... 595

    12.5 Fonctions de dates et d'heures ........................................................................................ 60112.6 Recherche en texte intgral (Full-text) dans MySQL ................................................... 617

    12.6.1 Boolens de recherches en texte intgral .............................................................. 61912.6.2 Recherche en texte intgral avec extension de requte .......................................... 62112.6.3 Restrictions avec la recherche en texte intgral ..................................................... 62212.6.4 Paramtrage prcis de la recherche en text intgral de MySQL .............................. 62212.6.5 A faire dans la recherche Full-text ................................................................... 624

    12.7 Fonctions de transtypage ................................................................................................ 62412.8 Autres fonctions .............................................................................................................. 626

    12.8.1 Fonctions sur les bits ........................................................................................... 62612.8.2 Fonctions de chiffrements ..................................................................................... 62712.8.3 Fonctions d'informations ....................................................................................... 63112.8.4 Fonctions diverses ............................................................................................... 635

    12.9 Fonctions et options utiliser dans les clauses GROUP BY ............................................... 63812.9.1 Fonctions avec GROUP BY ................................................................................... 63812.9.2 Options de GROUP BY ......................................................................................... 64012.9.3 GROUP BY avec les champs cachs ..................................................................... 643

    13 Syntaxe des commandes SQL ................................................................................................... 64513.1 Manipulation de donnes : SELECT, INSERT, UPDATE, DELETE ........................................ 645

    13.1.1 Syntaxe de DELETE ............................................................................................. 645

  • MySQL 5.0 Reference Manual

    x

    13.1.2 Syntaxe de DO ..................................................................................................... 64813.1.3 Syntaxe de HANDLER ........................................................................................... 64813.1.4 Syntaxe de INSERT ............................................................................................. 64913.1.5 Syntaxe de LOAD DATA INFILE ........................................................................ 65513.1.6 Syntaxe de REPLACE ........................................................................................... 66113.1.7 Syntaxe de SELECT ............................................................................................. 66213.1.8 Sous-slections (SubSELECT) ............................................................................... 67013.1.9 Syntaxe de TRUNCATE ......................................................................................... 68113.1.10 Syntaxe de UPDATE ........................................................................................... 681

    13.2 Dfinition de donnes : CREATE, DROP, ALTER ................................................................. 68213.2.1 Syntaxe de ALTER DATABASE ............................................................................. 68213.2.2 Syntaxe de ALTER TABLE ................................................................................... 68313.2.3 Syntaxe de CREATE DATABASE ........................................................................... 68713.2.4 Syntaxe de CREATE INDEX ................................................................................. 68813.2.5 Syntaxe de CREATE TABLE ................................................................................. 68913.2.6 Syntaxe de DROP DATABASE ............................................................................... 70013.2.7 Syntaxe de DROP INDEX ..................................................................................... 70113.2.8 Syntaxe de DROP TABLE ..................................................................................... 70113.2.9 Syntaxe de RENAME TABLE ................................................................................. 701

    13.3 Commandes de bases de l'utilisateur de MySQL .............................................................. 70213.3.1 Syntaxe de DESCRIBE (obtenir des informations sur les colonnes) .......................... 70213.3.2 Syntaxe de USE ................................................................................................... 703

    13.4 Commandes relatives aux verrous et aux transactions ...................................................... 70313.4.1 Syntaxes de START TRANSACTION, COMMIT et ROLLBACK ................................... 70313.4.2 Commandes qui ne peuvent pas tre annules ...................................................... 70413.4.3 Commandes qui peuvent causer une validation implicite ......................................... 70413.4.4 Syntaxe de SAVEPOINT et ROLLBACK TO SAVEPOINT ........................................ 70513.4.5 Syntaxe de LOCK TABLES/UNLOCK TABLES ....................................................... 70513.4.6 Syntaxe de SET TRANSACTION ........................................................................... 707

    13.5 Rfrence de langage d'administration de la base de donnes .......................................... 70813.5.1 Commande de gestion des comptes utilisateurs ..................................................... 70813.5.2 Commandes d'entretien des tables ........................................................................ 71613.5.3 Syntaxe de SHOW ................................................................................................. 72413.5.4 Autres commandes d'administration ...................................................................... 739

    13.6 Commandes de rplication .............................................................................................. 74313.6.1 Requtes SQL pour contrler les matres de rplication ......................................... 74313.6.2 Commandes SQL de contrle des esclaves de rplication ...................................... 745

    13.7 Syntaxe SQL pour les commandes prpares .................................................................. 75314 Moteurs de tables MySQL et types de table ................................................................................ 755

    14.1 Le moteur de tables MyISAM ........................................................................................... 75714.1.1 Options de dmarrage MyISAM ............................................................................. 75914.1.2 Espace ncessaire pour stocker les index ............................................................. 76014.1.3 Formats de table MyISAM ..................................................................................... 76014.1.4 Problmes avec les tables MyISAM ....................................................................... 763

    14.2 Tables assembles MERGE .............................................................................................. 76414.2.1 Problmes avec les tables MERGE ......................................................................... 766

    14.3 Le moteur de table MEMORY (HEAP) ................................................................................. 76714.4 Tables BDB ou BerkeleyDB ........................................................................................... 769

    14.4.1 Systmes d'exploitation supports par BDB ............................................................ 76914.4.2 Installation de BDB ............................................................................................... 77014.4.3 Options de dmarrage BDB ................................................................................... 77014.4.4 Caractristiques des tables BDB ............................................................................ 77114.4.5 Ce que nous devons corriger dans BDB dans un futur proche : ................................ 77314.4.6 Restrictions avec les tables BDB ........................................................................... 773

  • MySQL 5.0 Reference Manual

    xi

    14.4.7 Erreurs pouvant survenir lors de l'utilisation des tables BDB .................................... 77414.5 Le moteur de table EXAMPLE .......................................................................................... 77414.6 Le moteur de table FEDERATED ....................................................................................... 774

    14.6.1 Installation du moteur de table FEDERATED ........................................................... 77514.6.2 Description du moteur de stockage FEDERATED .................................................... 77514.6.3 Comment utiliser les tables FEDERATED ................................................................ 77514.6.4 Limitations du moteur de stockage FEDERATED ..................................................... 776

    14.7 Le moteur de table ARCHIVE .......................................................................................... 77714.8 Le moteur CSV ................................................................................................................ 77714.9 Tables ISAM ................................................................................................................... 778

    15 Le moteur de tables InnoDB ...................................................................................................... 78115.1 Prsentation des tables InnoDB ...................................................................................... 78215.2 Informations de contact InnoDB ...................................................................................... 78215.3 InnoDB avec MySQL version 3.23 .................................................................................. 78215.4 Configuration InnoDB ..................................................................................................... 78315.5 Options de dmarrage InnoDB ....................................................................................... 78715.6 Crer des bases InnoDB ................................................................................................ 790

    15.6.1 Si quelque chose se passe mal la cration de la base de donnes ....................... 79115.7 Crer des tables InnoDB ................................................................................................ 792

    15.7.1 Comment utiliser les transactions de InnoDB avec diffrentes API .......................... 79215.7.2 Convertir des tables MyISAM vers InnoDB ............................................................ 79315.7.3 Comment les colonnes AUTO_INCREMENT fonctionnent avec InnoDB ..................... 79415.7.4 Contraintes de cls trangres FOREIGN KEY ...................................................... 79415.7.5 InnoDB et la rplication MySQL ........................................................................... 79815.7.6 Espaces de tables multiples : chaque table InnoDB a son fichier .ibd ................... 799

    15.8 Ajouter et retirer des donnes et des logs InnoDB ........................................................... 80015.9 Sauver et restaurer une base InnoDB ............................................................................. 801

    15.9.1 Forcer la restauration ........................................................................................... 80315.9.2 Points de contrle ................................................................................................ 804

    15.10 Transfrer une base de donnes InnoDB vers une autre machine ................................... 80415.11 Modle de transactions et verrouillage InnoDB ............................................................... 805

    15.11.1 InnoDB et AUTOCOMMIT ..................................................................................... 80515.11.2 InnoDB et SET ... TRANSACTION ISOLATION LEVEL ... ........................... 80515.11.3 Lecture cohrente non-bloquante ........................................................................ 80615.11.4 Verrous de lecture SELECT ... FOR UPDATE et SELECT ... LOCK INSHARE MODE ................................................................................................................. 80715.11.5 Verrou de cl suivante : viter le problme des lignes fantmes ............................ 80815.11.6 Un exemple de lecture cohrente avec InnoDB ................................................... 80815.11.7 Les verrous poss par diffrentes requtes SQL avec InnoDB ............................. 80915.11.8 Quand est-ce que MySQL valide ou annule implicitement une transaction? ............ 81015.11.9 Dtection des blocages et annulation .................................................................. 81115.11.10 Comment grer les blocages de verrous? .......................................................... 811

    15.12 Conseils pour l'amlioration des performances InnoDB ................................................... 81215.12.1 Le moniteur InnoDB ........................................................................................... 814

    15.13 Implmentation du multi-versionnage ............................................................................. 81715.14 Structures de tables et d'index ....................................................................................... 818

    15.14.1 Structure physique d'un index ............................................................................. 81915.14.2 Bufferisation des insertions ................................................................................. 81915.14.3 Index hash adaptatifs ......................................................................................... 81915.14.4 Structure physique d'une ligne ............................................................................ 819

    15.15 Gestion de l'espace fichiers et des entres/sorties disque ............................................... 82015.15.1 Accs disques .................................................................................................... 82015.15.2 Utiliser les raw devices pour l'espace de tables .................................................... 82015.15.3 Gestion de l'espace fichier .................................................................................. 821

  • MySQL 5.0 Reference Manual

    xii

    15.15.4 Dfragmentation des tables ................................................................................ 82215.16 Gestion des erreurs InnoDB ......................................................................................... 822

    15.16.1 Codes d'erreurs InnoDB ..................................................................................... 82315.16.2 Codes d'erreur sytme ........................................................................................ 823

    15.17 Restrictions sur les tables InnoDB ................................................................................. 82815.18 Rsolution de problmes avec InnoDB .......................................................................... 830

    15.18.1 Solutions pour le dictionnaire de donnes InnoDB ............................................... 83016 Introduction MySQL Cluster ..................................................................................................... 833

    16.1 Prsentation de MySQL Cluster ....................................................................................... 83416.2 Concepts de base de MySQL Cluster .............................................................................. 83416.3 Configuration simple multi-serveurs .................................................................................. 834

    16.3.1 Matriel, logiciels et rseau .................................................................................. 83716.3.2 Installation ............................................................................................................ 83816.3.3 Configuration ........................................................................................................ 83916.3.4 Dmarrage initial .................................................................................................. 84116.3.5 Charger les donnes d'exemple et excuter des requtes ...................................... 84216.3.6 Arrt et redmarrage du cluster ............................................................................ 846

    16.4 Configuration de MySQL Cluster ...................................................................................... 84616.4.1 Compilation du cluster .......................................................................................... 84616.4.2 Installation du logiciel ........................................................................................... 84716.4.3 Vrification rapide du fonctionnement du cluster .................................................... 84716.4.4 Fichier de configuration ........................................................................................ 849

    16.5 Serveur de gestion du cluster MySQL .............................................................................. 87116.5.1 Utilisation des processus serveurs MySQL par MySQL Cluster ............................ 87116.5.2 ndbd, le processus de stockage du cluster ............................................................ 87216.5.3 ndb_mgmd, le serveur de gestion .......................................................................... 87316.5.4 ndb_mgm, le client de gestion du cluster ................................................................ 87416.5.5 Options des commandes pour le cluster MySQL .................................................... 874

    16.6 Administration de MySQL Cluster .................................................................................... 87616.6.1 Commandes du client de gestion du Cluster .......................................................... 87716.6.2 Rapport d'vnements gnrs par le cluster MySQL ............................................ 87716.6.3 Utilisateur unique du cluster .................................................................................. 88216.6.4 Sauvegarde en ligne de MySQL Cluster ................................................................ 883

    16.7 Utilisation d'interconnexions haute vitesse avec MySQL Cluster ......................................... 88516.7.1 Configurer le cluster MySQL avec les sockets SCI ................................................. 88616.7.2 Mesures de vitesses pour comprendre les impacts sur le cluster ............................. 889

    16.8 Cluster Limitations in MySQL 4.1 ..................................................................................... 89116.9 Cluster MySQL en 5.0 et 5.1 ........................................................................................... 893

    16.9.1 volutions de MySQL Cluster en MySQL 5.0 ..................................................... 89316.9.2 Plans de dveloppement de MySQL 5.1 pour le cluster MySQL .............................. 894

    16.10 MySQL Cluster FAQ ..................................................................................................... 89516.11 MySQL Cluster Glossary ............................................................................................... 901

    17 Introduction MaxDB ................................................................................................................ 90517.1 Historique de MaxDB ...................................................................................................... 90517.2 Licence et support MaxDB .............................................................................................. 90517.3 Liens traitant de MaxDB ................................................................................................... 90517.4 Concepts de base de MaxDB ........................................................................................... 90617.5 Diffrences de fonctionnalits entre MaxDB et MySQL ...................................................... 90617.6 Interoprabilit entre MaxDB et MySQL ............................................................................ 90617.7 Mots rservs de MaxDB ................................................................................................. 907

    18 Donnes spatiales avec MySQL ................................................................................................. 91118.1 Introduction GIS ........................................................................................................... 91218.2 Le modle gomtrique OpenGIS .................................................................................... 912

    18.2.1 La hirarchie des classes gomtriques ................................................................ 913

  • MySQL 5.0 Reference Manual

    xiii

    18.2.2 Classe Geometry ................................................................................................ 91418.2.3 Classe Point ...................................................................................................... 91518.2.4 Classe Curve ...................................................................................................... 91518.2.5 Classe LineString ............................................................................................ 91518.2.6 Classe Surface .................................................................................................. 91618.2.7 Classe Polygon .................................................................................................. 91618.2.8 Classe GeometryCollection ............................................................................ 91718.2.9 Classe MultiPoint ............................................................................................ 91718.2.10 Classe MultiCurve .......................................................................................... 91718.2.11 Classe MultiLineString ................................................................................ 91818.2.12 Classe MultiSurface ...................................................................................... 91818.2.13 Classe MultiPolygon ...................................................................................... 918

    18.3 Formats gomtriques supports ..................................................................................... 91918.3.1 Format Well-Known Text (WKT) ............................................................................ 91918.3.2 Le format Well-Known Binary (WKB) ..................................................................... 919

    18.4 Crer une base de donnes avec les fonctionnalits gographiques .................................. 92018.4.1 Types de donnes gographiques MySQL ............................................................ 92018.4.2 Crer des objets gographiques ........................................................................... 92118.4.3 Crer des colonnes gomtriques ......................................................................... 92418.4.4 Remplir des colonnes gomtriques ...................................................................... 92518.4.5 Lire des donnes gomtriques ............................................................................ 926

    18.5 Analyser des donnes gographiques .............................................................................. 92618.5.1 Fonctions pour convertir les formes de format ........................................................ 92718.5.2 Fonction d'analyse des proprits des formes Geometry ....................................... 92718.5.3 Fonctions qui gnrent des formes gomtriques partir d'autres formes ................ 93418.5.4 Fonctions de tests des relations gomtriques entre les formes .............................. 93518.5.5 Relations avec les Rectangles enveloppes (MBRs) ................................................ 93518.5.6 Fonctions qui testent les relations gomtriques entre les formes ............................ 936

    18.6 Optimiser l'analyse gographique .................................................................................... 93718.6.1 Crer un index gomtrique ................................................................................. 93818.6.2 Utiliser un index gomtrique ................................................................................ 939

    18.7 MySQL compatibilit avec GIS ........................................................................................ 94018.7.1 Les fonctionnalits de GIS que nous n'avons pas encore implment ...................... 940

    19 Procdures stockes et fonctions ............................................................................................... 94119.1 Procdures stockes et tables de droits ........................................................................... 94219.2 Syntaxe des procdures stockes .................................................................................... 942

    19.2.1 CREATE PROCEDURE et CREATE FUNCTION ........................................................ 94219.2.2 ALTER PROCEDURE et ALTER FUNCTION ............................................................ 94419.2.3 DROP PROCEDURE et DROP FUNCTION ................................................................ 94419.2.4 SHOW CREATE PROCEDURE et SHOW CREATE FUNCTION .................................... 94519.2.5 SHOW PROCEDURE STATUS et SHOW FUNCTION STATUS .................................... 94519.2.6 CALL ................................................................................................................... 94519.2.7 La commande compose BEGIN ... END .......................................................... 94519.2.8 La commande DECLARE ....................................................................................... 94619.2.9 Les variables dans les procdures stockes .......................................................... 94619.2.10 Conditions et gestionnaires ................................................................................. 94719.2.11 Curseurs ............................................................................................................ 94819.2.12 Instructions de contrle ....................................................................................... 949

    20 Dclencheurs ............................................................................................................................. 95320.1 Syntaxe de CREATE TRIGGER ........................................................................................ 95320.2 Syntaxe de DROP TRIGGER ............................................................................................ 95420.3 Utiliser les dclencheurs .................................................................................................. 954

    21 Vues ......................................................................................................................................... 95721.1 Syntaxe ALTER VIEW .................................................................................................... 957

  • MySQL 5.0 Reference Manual

    xiv

    21.2 Syntaxe de CREATE VIEW .............................................................................................. 95721.3 Syntaxe DROP VIEW ...................................................................................................... 95821.4 Syntaxe SHOW CREATE VIEW ........................................................................................ 958

    22 La base de donnes d'informations INFORMATION_SCHEMA ........................................................ 95922.1 Les tables INFORMATION_SCHEMA .................................................................................. 961

    22.1.1 La table INFORMATION_SCHEMA SCHEMATA ........................................................ 96122.1.2 La table INFORMATION_SCHEMA TABLES ............................................................ 96222.1.3 La table INFORMATION_SCHEMA COLUMNS .......................................................... 96322.1.4 La table INFORMATION_SCHEMA STATISTICS .................................................... 96522.1.5 La table INFORMATION_SCHEMA USER_PRIVILEGES .......................................... 96522.1.6 La table INFORMATION_SCHEMA SCHEMA_PRIVILEGES ...................................... 96622.1.7 La table INFORMATION_SCHEMA TABLE_PRIVILEGES ........................................ 96622.1.8 La table INFORMATION_SCHEMA COLUMN_PRIVILEGES ...................................... 96722.1.9 La table INFORMATION_SCHEMA CHARACTER_SETS ............................................ 96722.1.10 La table INFORMATION_SCHEMA COLLATIONS .................................................. 96822.1.11 La table INFORMATION_SCHEMACOLLATION_CHARACTER_SET_APPLICABILITY ............................................................ 96822.1.12 La table INFORMATION_SCHEMA TABLE_CONSTRAINTS ..................................... 96922.1.13 La table INFORMATION_SCHEMA KEY_COLUMN_USAGE ....................................... 96922.1.14 La table INFORMATION_SCHEMA ROUTINES ...................................................... 97022.1.15 La table INFORMATION_SCHEMA VIEWS ............................................................ 97222.1.16 Autres tables INFORMATION_SCHEMA ................................................................. 972

    22.2 Extensions la commande SHOW .................................................................................... 97223 Mathmatiques de prcision ....................................................................................................... 975

    23.1 Types de valeurs numriques .......................................................................................... 97623.2 Changements de type de donnes avec DECIMAL ............................................................ 97623.3 Gestion des expressions ................................................................................................. 97823.4 Arrondissement de valeurs .............................................................................................. 97923.5 Exemples de calculs de mathmatiques ........................................................................... 980

    24 API MySQL ............................................................................................................................... 98524.1 Utilitaires de dveloppement des programmes MySQL ...................................................... 985

    24.1.1 msql2mysql, convertit des programmes mSQL vers MySQL ................................. 98624.1.2 mysql_config lit les options de compilations du client MySQL ............................. 986

    24.2 API MySQL C ................................................................................................................. 98724.2.1 Types de donnes de l'API C ............................................................................... 98824.2.2 Vue d'ensemble des fonctions de l'API C .............................................................. 99124.2.3 Description des fonctions de l'API C ...................................................................... 99424.2.4 Fonctions C de commandes prpares ................................................................ 103524.2.5 Types de donnes de l'API C ............................................................................. 103524.2.6 Prsentation des fonctions de l'interface C ........................................................... 103824.2.7 Description des fonctions C pour les requtes prpares ...................................... 104024.2.8 Problmes avec l'interface C des commandes prpares ...................................... 106124.2.9 Gestion des commandes multiples avec l'interface C ............................................ 106124.2.10 Gestion des dates et horaires avec l'interface C ................................................. 106224.2.11 Description des fonctions threades de C .......................................................... 106324.2.12 Description des fonctions C du serveur embarqu .............................................. 106424.2.13 Questions courantes sur la bibliothque C ......................................................... 106524.2.14 Compiler les clients .......................................................................................... 106724.2.15 Comment faire un client MySQL thread ............................................................ 106724.2.16 libmysqld, la bibliothque du serveur embarqu MySQL ................................. 1069

    24.3 API PHP pour MySQL ................................................................................................... 107324.3.1 Problmes frquents avec MySQL et PHP ........................................................... 1073

    24.4 API Perl pour MySQL .................................................................................................... 107424.5 Interface MySQL C++ .................................................................................................... 1074

  • MySQL 5.0 Reference Manual

    xv

    24.5.1 Borland C++ ....................................................................................................... 107424.6 MySQL Python API ....................................................................................................... 107524.7 MySQL Tcl API ............................................................................................................. 107524.8 Couche MySQL pour Eiffel ............................................................................................ 1075

    25 Pilotes MySQL ......................................................................................................................... 107725.1 Support ODBC de MySQL ............................................................................................. 1077

    25.1.1 Introduction to MyODBC ..................................................................................... 107825.1.2 General Information About ODBC and MyODBC .................................................. 108025.1.3 Comment installer MyODBC ............................................................................... 108325.1.4 Installer MyODBC depuis une distribution binaire sur Windows ............................. 108425.1.5 Installing MyODBC from a Binary Distribution on Unix .......................................... 108425.1.6 Installer MyODBC depuis la version source sur Windows ...................................... 108525.1.7 Installing MyODBC from a Source Distribution on Unix ......................................... 108625.1.8 Installer MyODBC depuis le serveur de versions BitKeeper ................................... 109225.1.9 MyODBC Configuration ....................................................................................... 109325.1.10 Problmes avec les connexions MyODBC ......................................................... 111225.1.11 MyODBC et Microsoft Access ........................................................................... 111325.1.12 MyODBC et Microsoft VBA et ASP .................................................................... 111825.1.13 MyODBC et les outils tierce partie ..................................................................... 111925.1.14 Fonctionnalits gnrales de MyODBC .............................................................. 112025.1.15 Instructions de base pour utiliser MyODBC ........................................................ 112425.1.16 Table de rfrence MyODBC ............................................................................ 112625.1.17 MyODBC Data Types ....................................................................................... 113025.1.18 Codes d'erreurs MyODBC ................................................................................. 113125.1.19 MyODBC avec VB : ADO, DAO and RDO .......................................................... 113225.1.20 MyODBC avec Microsoft .NET .......................................................................... 113725.1.21 Crdits ............................................................................................................. 1140

    25.2 MySQL et Java (JDBC) ................................................................................................. 114026 Gestion des erreurs avec MySQL ............................................................................................. 114327 Etendre MySQL ....................................................................................................................... 1181

    27.1 Rouages de MySQL ...................................................................................................... 118127.1.1 Threads MySQL ................................................................................................. 118127.1.2 Suite de test de MySQL ..................................................................................... 1182

    27.2 Ajouter des fonctions MySQL ..................................................................................... 118427.2.1 Fonctionnalits des fonctions utilisateur ............................................................... 118527.2.2 Syntaxe de CREATE FUNCTION/DROP FUNCTION ............................................. 118527.2.3 Ajouter une nouvelle fonction dfinie par l'utilisateur (UDF) .................................... 118527.2.4 Ajouter de nouvelles fonctions natives ................................................................. 1194

    27.3 Ajouter une nouvelle procdure MySQL ...................................................................... 119527.3.1 La procdure Analyse ......................................................................................... 119527.3.2 Ecrire une procdure .......................................................................................... 1195

    A Problmes et erreurs communes ................................................................................................ 1197A.1 Comment dterminer ce qui pose problme ..................................................................... 1198A.2 Erreurs communes rencontres avec MySQL ................................................................... 1199

    A.2.1 Erreur Access denied ...................................................................................... 1199A.2.2 Erreur Can't connect to [local] MySQL server ...................................... 1199A.2.3 Erreur Client does not support authentication protocol ................... 1201A.2.4 Echec de saisie du mot de passe avec le client interactif ....................................... 1201A.2.5 Erreur Host '...' is blocked ..................................................................... 1202A.2.6 Erreur Too many connections ........................................................................ 1202A.2.7 Erreur Out of memory ..................................................................................... 1202A.2.8 Erreur MySQL server has gone away ........................................................... 1203A.2.9 Erreur Packet too large .............................................................