[+/-]
      Der C-API-Code wird mit MySQL zusammen ausgeliefert. Er ist in der
      mysqlclient-Bibliothek inbegriffen und
      ermöglicht C-Programmen den Zugriff auf die Datenbank.
    
      Viele Clients der MySQL-Quelldistribution sind in C geschrieben.
      Wenn Sie Beispiele für die Nutzung der C-API suchen, schauen Sie
      sich diese Clients an. Zu finden sind sie im Verzeichnis
      clients der MySQL-Quelldistribution.
    
      Die meisten anderen Client-APIs (alle außer Connector/J und
      Connector/NET) nutzen die
      mysqlclient-Bibliothek zur Kommunikation mit
      dem MySQL Server. Das bedeutet, dass Sie beispielsweise viele
      derselben Umgebungsvariablen einsetzen können, die auch andere
      Clientprogramme verwenden, da sie in der Bibliothek referenziert
      werden. Eine Liste dieser Variablen finden Sie unter
      Kapitel 8, Client- und Hilfsprogramme.
    
Der Client hat eine Größenbeschränkung für den Kommunikationspuffer. Für den Puffer werden anfangs 16 Kbyte reserviert, die jedoch automatisch bis hin zur Maximalgröße (16 Mbyte) ausgeweitet werden. Da Puffergrößen nur aufgrund der Nachfrage erhöht werden, werden allein dadurch, dass Sie die voreingestellte Maximalgröße erhöhen, keine größeren Ressourcen belegt. Die Überprüfung dieser Größe ist im Grunde nur eine Prüfung auf fehlerhafte Anweisungen und Kommunikationspakete.
      Der Kommunikationspuffer muss groß genug sein, um eine einzelne
      SQL-Anweisung (für die Übertragung von Client zu Server) und
      eine Zeile der Rückgabedaten (für die Übertragung von Server zu
      Client) zu speichern. Der Kommunikationspuffer jedes Threads wird
      bis zum Größenlimit dynamisch vergrößert, um jede Anfrage oder
      Zeile handhaben zu können. Wenn Sie beispielsweise
      BLOB-Werte mit bis zu 16 Mbyte Daten haben,
      benötigen Sie für den Kommunikationspuffer ein Limit von
      mindestens 16 Mbyte (sowohl im Server als auch im Client). Das
      voreingestellte Limit im Client beträgt 16 Mbyte, aber im Server
      nur 1 Mbyte. Sie können es erhöhen, indem Sie den Wert des
      Parameters max_allowed_packet beim Serverstart
      heraufsetzen. Siehe Abschnitt 7.5.2, „Serverparameter feineinstellen“.
    
      Der MySQL Server lässt jeden Kommunikationspuffer nach jeder
      Anfrage auf net_buffer_length
      zusammenschrumpfen. Bei Clients wird ein mit einer Verbindung
      zusammenhängender Puffer erst beim Schließen der Verbindung
      verkleinert, wenn der Arbeitsspeicher des Clients zurückgeholt
      wird.
    
Zur Programmierung mit Threads siehe Abschnitt 24.2.15, „Wie man einen Thread-Client herstellt“. Zur Erstellung einer Standalone-Anwendung, die "Server" und "Client" in demselben Programm enthält (und nicht mit einem externen MySQL Server kommuniziert), siehe Abschnitt 24.1, „libmysqld, die eingebettete MySQL Server-Bibliothek“.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.

