MySQL

:: DEVELOPER ZONE

Login / Register

  • MySQL.com
  • Developer Zone
  • Partners
  • Online Shop
  • Downloads
  • Documentation
  • Forums
  • Lists
  • Bugs
  • Events
  • User Groups
  • Guilds
  • Blogs
  • Support
  • Resources
  • Books
  • FAQ

Справочное руководство по MySQL 4.0. :: 8 Интерфейсы для MySQL :: 8.4 Интерфейс C для MySQL

  • Overview
  • MySQL Reference Manual
  • MaxDB Documentation
  • Connectors

Search the MySQL manual:


  • Справочное руководство по MySQL 4.0.

  • 8 Интерфейсы для MySQL
  • 8.1 Интерфейс PHP API для MySQL
  • 8.2 Интерфейс Perl API для MySQL
  • 8.3 Поддержка ODBC в MySQL
  • 8.4 Интерфейс C для MySQL
    • 8.4.1 Типы данных C API
    • 8.4.2 Обзор функций интерфейса C
    • 8.4.3 Описание функций интерфейса C
    • 8.4.4 Описания функций C, связанных с потоками
    • 8.4.5 Описания функций C, доступных во встраиваемом сервере
    • 8.4.6 Основные вопросы и проблемы в использовании интерфейса C
    • 8.4.7 Сборка клиентских программ
    • 8.4.8 Как создать клиентскую программу с потоками
    • 8.4.9 libmysqld, встраиваемая библиотека сервера MySQL
  • 8.5 Интерфейсы C++
  • 8.6 Взаимодействие MySQL и Java (JDBC)
  • 8.7 Интерфейсы Python API для MySQL
  • 8.8 Интерфейсы Tcl API для MySQL
  • 8.9 Оболочка Eiffel для MySQL

Get the MySQL Language Reference and MySQL Administrator's Guide from MySQL Press!


Additional languages

  • German


Learn about new MySQL releases, technical articles, events and more.

Subscribe to the monthly MySQL Newsletter!


Previous / Next / Up / Table of Contents

8.4. Интерфейс C для MySQL

8.4.1. Типы данных C API
8.4.2. Обзор функций интерфейса C
8.4.3. Описание функций интерфейса C
8.4.4. Описания функций C, связанных с потоками
8.4.5. Описания функций C, доступных во встраиваемом сервере
8.4.6. Основные вопросы и проблемы в использовании интерфейса C
8.4.7. Сборка клиентских программ
8.4.8. Как создать клиентскую программу с потоками
8.4.9. libmysqld, встраиваемая библиотека сервера MySQL

Исходный код программного интерфейса (API) C распространяется вместе с MySQL. Он включает в себя библиотеку mysqlclient и обеспечивает возможность доступа к базе данных программам на С.

Многие клиенты исходного дистрибутива MySQL написаны на C. Они являются хорошими примерами для демонстрации использования интерфейса C. Их можно найти их в каталоге clients исходного дистрибутива MySQL.

Большинство других клиентских интерфейсов (за исключением Java) для соединения с сервером MySQL используют библиотеку mysqlclient. Это означает, что, например, можно извлечь определенную выгоду, используя те же переменные окружения, что и в других клиентских программах, поскольку на них есть ссылки из библиотеки (see Раздел 4.8, «Клиентские сценарии и утилиты MySQL», где приведен список этих переменных).

Клиент имеет максимальный размер буфера связи. Начальный размер этого буфера составляет 16 Kб и автоматически увеличивается до максимального значения 16 Mб. Поскольку размеры буфера увеличиваются только при подтверждении запроса на это, то просто увеличение максимального предела по умолчанию само по себе не обеспечит увеличения используемых ресурсов. Проверка этого размера в основном используется для ошибочных запросов и коммуникационных пакетов.

Буфер связи должен быть достаточно большим, чтобы вмещать целую SQL-команду (для потока клиент-сервер) и целую строку возвращенных данных (для потока сервер-клиент). Буфер связи для каждого из потоков динамически увеличивается до максимального значения, чтобы обработать любой запрос или строку. Например, для данных типа BLOB объемом до 16 Mб необходим предел буфера связи по меньшей мере в 16 Mб (как для сервера, так и для клиента). Максимальное значение по умолчанию для клиента составляет 16 Mб, а для сервера максимум по умолчанию равен 1Mб. Можно увеличить этот объем, изменив величину параметра max_allowed_packet при запуске сервера (see Раздел 5.5.2, «Настройка параметров сервера»).

Сервер MySQL сжимает каждый буфер связи до величины net_buffer_length байтов после каждого запроса. Для клиентов размер буфера, связанного с соединением, не уменьшается, пока не будет закрыто данное соединение и при этом не будет освобождена выделенная клиенту память.

Программирование с учетом потоков описано в разделе See Раздел 8.4.8, «Как создать клиентскую программу с потоками». При создании автономного приложения, включающего и "сервер", и "клиент" в одной и той же программе (и не взаимодействующего с внешним сервером MySQL), обращайтесь к разделу See Раздел 8.4.9, «libmysqld, встраиваемая библиотека сервера 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.

Top / Previous / Next / Up / Table of Contents

© 1995-2005 MySQL AB. All rights reserved.

  • About MySQL
  • Careers
  • Site Map
  • Contact Us
  • Legal
  • Privacy Policy
  • Trademark Info
  • No Software Patents!