mariadb-connector-c

Библиотека MariaDB Connector/C для подключения приложений на C/C++ к базам данных MariaDB и MySQL с высокой производительностью и поддержкой современных функций.

Подпакеты
Имя Краткое описание
mariadb-connector-c-devel Описание отсутствует
mariadb-connector-c-doc Описание отсутствует
mariadb-connector-c-test Описание отсутствует
mariadb-connector-c-config Описание отсутствует
Доступные версии
Версия Релиз Архитектура Лицензия Дата сборки Размер Версии ОС Подробности
3.4.4 1.niceos5 x86_64 LGPL-2.1-or-later 28 апр. 2025 г. 644,742 МиБ Подробности
Описание

Описание пакета MariaDB Connector/C

Пакет mariadb-connector-c представляет собой официальную клиентскую библиотеку для работы с базами данных MariaDB и MySQL из приложений, написанных на языках программирования C и C++. Эта библиотека разработана для обеспечения высокой производительности, надежности и совместимости с современными версиями СУБД. Она предоставляет разработчикам удобный API для выполнения запросов, управления соединениями и обработки данных, что делает её идеальным инструментом для создания приложений, взаимодействующих с базами данных.

Основные возможности MariaDB Connector/C

Библиотека mariadb-connector-c поддерживает широкий спектр функций, необходимых для эффективной работы с базами данных. Вот ключевые особенности пакета:

  • Поддержка соединений с серверами MariaDB и MySQL через TCP/IP, UNIX-сокеты и SSL/TLS для защищённого взаимодействия.
  • Асинхронный API для выполнения запросов, что позволяет создавать высокопроизводительные приложения.
  • Поддержка подготовки запросов (prepared statements) для повышения безопасности и производительности.
  • Обработка больших данных с помощью потоковой передачи результатов запросов.
  • Совместимость с современными стандартами и функциями, такими как плагины аутентификации и компрессия данных.

Установка пакета в Найс.ОС

Для установки пакета mariadb-connector-c в операционной системе Найс.ОС, использующей пакетный менеджер dnf, выполните следующую команду:

sudo dnf install mariadb-connector-c

После установки библиотека будет доступна для использования в ваших проектах на C/C++. Также вы можете установить дополнительные зависимости, такие как заголовочные файлы для разработки, с помощью пакета mariadb-connector-c-devel:

sudo dnf install mariadb-connector-c-devel

Пример использования в коде на C

Ниже приведён простой пример программы на языке C, которая использует библиотеку mariadb-connector-c для подключения к базе данных и выполнения запроса:

#include 
#include 

int main() {
    MYSQL *conn;
    MYSQL_RES *res;
    MYSQL_ROW row;

    // Инициализация соединения
    conn = mysql_init(NULL);
    if (conn == NULL) {
        fprintf(stderr, "mysql_init() failed\n");
        return 1;
    }

    // Подключение к базе данных
    if (mysql_real_connect(conn, "localhost", "user", "password", "database", 0, NULL, 0) == NULL) {
        fprintf(stderr, "mysql_real_connect() failed: %s\n", mysql_error(conn));
        mysql_close(conn);
        return 1;
    }

    // Выполнение запроса
    if (mysql_query(conn, "SELECT * FROM users")) {
        fprintf(stderr, "mysql_query() failed: %s\n", mysql_error(conn));
        mysql_close(conn);
        return 1;
    }

    // Получение результатов
    res = mysql_use_result(conn);
    while ((row = mysql_fetch_row(res)) != NULL) {
        printf("ID: %s, Name: %s\n", row[0], row[1]);
    }

    // Освобождение ресурсов
    mysql_free_result(res);
    mysql_close(conn);
    return 0;
}

Для компиляции приведённого выше кода используйте следующую команду, указав путь к библиотеке и заголовочным файлам:

gcc -o example example.c -lmysqlclient

Преимущества использования MariaDB Connector/C

Библиотека mariadb-connector-c выделяется среди других решений благодаря следующим преимуществам:

  • Производительность: Оптимизированный код и поддержка асинхронных операций позволяют минимизировать задержки при работе с базами данных.
  • Безопасность: Поддержка SSL/TLS и современных методов аутентификации защищает данные от несанкционированного доступа.
  • Кроссплатформенность: Библиотека работает на различных операционных системах, включая Найс.ОС, что делает её универсальной для разработки.
  • Сообщество и документация: Активное сообщество разработчиков и подробная документация упрощают освоение и использование библиотеки.

Применение в реальных проектах

Пакет mariadb-connector-c широко используется в различных сферах разработки программного обеспечения. Вот несколько примеров:

  • Веб-приложения: Многие веб-серверы и приложения на C/C++ используют эту библиотеку для взаимодействия с базами данных, например, в связке с веб-серверами вроде Nginx или Apache.
  • Игровые движки: Игровые серверы, написанные на C++, могут использовать MariaDB Connector/C для хранения данных игроков и статистики.
  • Системное ПО: Системные утилиты и приложения для мониторинга часто используют эту библиотеку для записи и анализа данных.

Совместимость и зависимости

Пакет mariadb-connector-c совместим с большинством современных версий MariaDB и MySQL. Однако для корректной работы может потребоваться установка дополнительных библиотек, таких как openssl для поддержки шифрования. Убедитесь, что ваша система обновлена, чтобы избежать проблем с зависимостями. Проверить наличие зависимостей можно с помощью команды:

dnf repoquery --requires mariadb-connector-c

Решение распространённых проблем

При использовании mariadb-connector-c могут возникать следующие трудности:

  • Ошибка подключения: Убедитесь, что сервер базы данных запущен, а параметры подключения (хост, пользователь, пароль) указаны правильно.
  • Отсутствие библиотек: Если компиляция или запуск программы завершаются с ошибкой, проверьте наличие библиотек с помощью команды ldconfig -p | grep mysql.
  • Проблемы с SSL: Если соединение через SSL не работает, убедитесь, что на сервере и клиенте установлены соответствующие сертификаты.

Библиотека mariadb-connector-c — это мощный инструмент для разработчиков, работающих с базами данных MariaDB и MySQL. Она сочетает в себе простоту использования, высокую производительность и поддержку современных технологий, что делает её незаменимой в арсенале любого программиста на C/C++.