≫ Извлечение из баз данных

Подключение к базе данных

Определение источника должно содержать настройки подключения, включая хост, порт, учетные данные пользователя или специфичные настройки драйвера.

sql_host

Хост сервера базы данных для подключения. Обратите внимание, что клиентская библиотека MySQL выбирает, подключаться через TCP/IP или через UNIX-сокет, на основе имени хоста. В частности, "localhost" заставит использовать UNIX-сокет (это режим по умолчанию и, как правило, рекомендуемый), а "127.0.0.1" заставит использовать TCP/IP.

sql_port

IP-порт сервера для подключения. Для mysql по умолчанию используется 3306, а для pgsql — 5432.

sql_db

База данных SQL, которую следует использовать после установления соединения и в рамках которой выполнять дальнейшие запросы.

sql_user

Имя пользователя, используемое для подключения.

sql_pass

Пароль пользователя, используемый при подключении. Если пароль содержит символ # (который можно использовать для добавления комментариев в файле конфигурации), его можно экранировать с помощью \.

sql_sock

Имя UNIX-сокета для подключения к локальным серверам баз данных. Обратите внимание, что фактическое использование этого значения зависит от настройки sql_host.

sql_sock = /var/lib/mysql/mysql.sock

Специфичные настройки для драйверов

MySQL

mysql_connect_flags

Флаги подключения клиента MySQL. Необязательный параметр, значение по умолчанию — 0 (не устанавливать никаких флагов).

Этот параметр должен содержать целочисленное значение, представляющее сумму флагов. Значение будет передано в mysql_real_connect() как есть. Флаги перечислены в include-файле mysql_com.h. Флаги, представляющие особый интерес с точки зрения индексации, с их соответствующими значениями, следующие:

  • CLIENT_COMPRESS = 32; может использовать протокол сжатия
  • CLIENT_SSL = 2048; переключиться на SSL после рукопожатия
  • CLIENT_SECURE_CONNECTION = 32768; новая аутентификация 4.1 Например, можно указать 2080 (2048+32) для использования как сжатия, так и SSL, или 32768 для использования только новой аутентификации. Изначально эта опция была введена, чтобы иметь возможность использовать сжатие, когда индексатор и mysqld находятся на разных хостах. Сжатие на каналах 1 Гбит/с, скорее всего, увеличит время индексации, хотя и уменьшает сетевой трафик, как в теории, так и на практике. Однако включение сжатия на каналах 100 Мбит/с может значительно улучшить время индексации (сообщалось об улучшении до 20-30% от общего времени индексации). Ваши результаты могут отличаться.
mysql_connect_flags = 32 # enable compression

Настройки SSL-сертификата

  • mysql_ssl_cert — путь к SSL-сертификату
  • mysql_ssl_key — путь к файлу SSL-ключа
  • mysql_ssl_ca — путь к сертификату CA

unpack_mysqlcompress

unpack_mysqlcompress_maxsize = 1M

Столбцы для распаковки с использованием алгоритма MySQL UNCOMPRESS(). Множественное значение, необязательный параметр, значение по умолчанию — пустой список столбцов.

Столбцы, указанные с помощью этой директивы, будут распакованы индексатором с использованием модифицированного алгоритма zlib, который используется функциями MySQL COMPRESS() и UNCOMPRESS(). При индексации на машине, отличной от базы данных, это позволяет разгрузить базу данных и сэкономить сетевой трафик. Эта функция доступна только если zlib и zlib-devel были доступны во время сборки.

unpack_mysqlcompress = body_compressed
unpack_mysqlcompress = description_compressed

По умолчанию для распаковки данных используется буфер размером 16 МБ. Это можно изменить, установив параметр unpack_mysqlcompress_maxsize.

При использовании unpack_mysqlcompress, из-за особенностей реализации, невозможно определить требуемый размер буфера из сжатых данных. Поэтому буфер должен быть предварительно выделен, и распакованные данные не могут превысить размер буфера.

unpack_zlib

unpack_zlib = col1
unpack_zlib = col2

Столбцы для распаковки с использованием zlib (также известного как deflate, gunzip). Множественное значение, необязательный параметр, значение по умолчанию — пустой список столбцов. Применяется только к типам источников mysql и pgsql.

Столбцы, указанные с помощью этой директивы, будут распакованы indexer с использованием стандартного алгоритма zlib (называемого deflate и также реализованного в gunzip). При индексации на машине, отличной от базы данных, это позволяет разгрузить базу данных и сэкономить сетевой трафик. Эта функция доступна только если zlib и zlib-devel были доступны во время сборки.

MSSQL

Флаг аутентификации Windows для MS SQL. Определяет, использовать ли учетные данные текущей учетной записи Windows для аутентификации при подключении к MS SQL Server.

mssql_winauth = 1

ODBC

Источники, использующие ODBC, требуют наличия строки DSN (Data Source Name, имя источника данных), которую можно задать с помощью odbc_dsn.

odbc_dsn = Driver={Oracle ODBC Driver};Dbq=myDBName;Uid=myUsername;Pwd=myPassword

Обратите внимание, что формат зависит от используемого конкретного драйвера ODBC.

Last modified: August 28, 2025