[+/-]
libmysqld
, la bibliothèque du serveur embarqué
MySQL
L'interface C est distribuée avec MySQL. Elle est inclues dans la
bibliothèque mysqlclient
et permet aux
programmes écrits en C d'accéder à la base de données.
De nombreux client de la distribution source de MySQL sont écrits
en C. Si vous recherchez des exemples d'illustration de
l'utilisation de l'interface C, étudiez donc ces clients. Vous
pouvez les trouver dans le dossier clients
de
la distribution source MySQL.
La plupart des autres interfaces clientes (sauf Connector/J)
utilisent la bibliothèque mysqlclient
pour
communiquer avec le serveur MySQL. Cela signifie que, par exemple,
que vous pouvez exploiter adroitement de nombreux autres variables
qui sont utilisées par les autres programmes clients, car elles
sont utilisées dans la bibliothèque. Voyez
Chapitre 8, MySQL Scripts clients et utilitaires, pour une liste de ces
variables.
Le client a une taille maximale de buffer de communication. La taille du buffer qui est allouée au lancement 16 ko bytes, est automatiquement augmentée jusqu'à la taille maximum de 16 Mo. Comme la taille du buffer croit à la demande, vous ne consommerez pas de ressources supplémentaires en augmentant la limite maximum par défaut. Cette limite sert surtout à s'assurer de bien identifier des problèmes de requêtes erronées ou des paquets de communication.
Le buffer de communication doit être assez grand pour contenir
une commande SQL complète (dans le sens du trafic allant vers le
serveur), et une ligne complète (dans le sens du trafic allant
vers le client). Chaque buffer de threads est dynamiquement
agrandi pour gérer les requêtes jusqu'à la taille limite. Par
exemple, si vous avez des valeurs de type BLOB
qui contient jusqu'à 16 Mo de données, vous devez avoir un
buffer de communication dont la limite doit être au minimum de 16
Mo, aussi bien sur le serveur que sur le client. La limite par
défaut sur le client est de 16 Mo mais elle est de 1 Mo sur le
serveur. Vous pouvez augmenter cette valeur en modifiant le
paramètre max_allowed_packet
lorsque le
serveur est lancé. See Section 7.5.2, « Réglage des paramètres du serveur ».
Le serveur MySQL réduit la taille des buffers de communication à
net_buffer_length
octets après chaque
requête. Pour les clients, le buffer est associé à une
connexion, et les ressources ne seront libérées que lorsque
cette dernière sera refermée.
Pour la programmation avec les threads, voyez la section
Section 24.2.15, « Comment faire un client MySQL threadé ». Pour la création
d'applications qui incluent le serveur et le client dans le même
programme, et ne communiquent avec aucun serveur externe, voyez
Section 24.2.16, « libmysqld
, la bibliothèque du serveur embarqué
MySQL ».
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.