Spec-Zone.ru › MySQL 5.7

2.8.7 Параметры конфигурации источника MySQL

Программа CMake предоставляет значительный контроль над тем, как вы настраиваете дистрибутив исходного кода MySQL. Обычно это делается с помощью опций в командной строке CMake. Для получения информации об опциях, поддерживаемых CMake, выполните любую из этих команд в каталоге исходного кода верхнего уровня:

$> cmake . -LH

$> ccmake .

Вы также можете повлиять на CMake с помощью определенных переменных среды. См. Раздел 4.9, «Переменные среды».

Для булевых опций значение может быть задано как 1 или ON для включения опции, или как 0 или OFF для отключения опции.

Многие опции настраивают значения по умолчанию во время компиляции, которые можно переопределить при запуске сервера. Например, опции CMAKE_INSTALL_PREFIX, MYSQL_TCP_PORT и MYSQL_UNIX_ADDR, которые настраивают расположение базового каталога установки по умолчанию, номер порта TCP/IP и файл Unix-соккета, можно изменить при запуске сервера с помощью опций --basedir, --port и --socket для mysqld. В соответствующих описаниях опций конфигурации указана соответствующая опция запуска mysqld.

Следующие разделы содержат дополнительную информацию об опциях CMake.

  • Справочник по опциям CMake

  • Общие опции

  • Опции макета установки

  • Опции движка хранения

  • Опции функций

  • Флаги компилятора

  • Опции CMake для компиляции кластера NDB

Справочник по опциям CMake

В следующей таблице показаны доступные опции CMake. В столбце Default, PREFIX обозначает значение опции CMAKE_INSTALL_PREFIX, которая задает базовый каталог установки. Это значение используется в качестве родительского расположения для нескольких подкаталогов установки.

Таблица 2.14 Справочник по опциям конфигурации источника MySQL (CMake)

Таблица 2.14 Справочник по опциям конфигурации источника MySQL (CMake)
Форматы Описание По умолчанию Введено Удалено
END_OF_DOCUMENT_MARKER
BUILD_CONFIG Использовать те же параметры сборки, что и в официальных релизах
CMAKE_BUILD_TYPE Тип производимой сборки RelWithDebInfo
CMAKE_CXX_FLAGS Флаги для компилятора C++
CMAKE_C_FLAGS Флаги для компилятора C
CMAKE_INSTALL_PREFIX Базовая директория установки /usr/local/mysql
COMPILATION_COMMENT Комментарий об окружении компиляции
CPACK_MONOLITHIC_INSTALL Создаётся ли пакет из одного файла OFF
DEFAULT_CHARSET Набор символов по умолчанию для сервера latin1
DEFAULT_COLLATION Сортировка по умолчанию для сервера latin1_swedish_ci
DISABLE_PSI_COND Исключить измерительные приборы условий Performance Schema OFF
DISABLE_PSI_FILE Исключить измерительные приборы файлов Performance Schema OFF
DISABLE_PSI_IDLE Исключить измерительные приборы простоя Performance Schema OFF
DISABLE_PSI_MEMORY Исключить измерительные приборы памяти Performance Schema OFF
DISABLE_PSI_METADATA Исключить измерительные приборы метаданных Performance Schema OFF
DISABLE_PSI_MUTEX Исключить измерительные приборы мьютексов Performance Schema OFF
DISABLE_PSI_PS Исключить подготовленные операторы Performance Schema OFF
DISABLE_PSI_RWLOCK Исключить измерительные приборы rwlock Performance Schema OFF
DISABLE_PSI_SOCKET Исключить измерительные приборы сокетов Performance Schema OFF
DISABLE_PSI_SP Исключить измерительные приборы хранимых программ Performance Schema OFF
DISABLE_PSI_STAGE Исключить измерительные приборы этапов Performance Schema OFF
DISABLE_PSI_STATEMENT Исключить измерительные приборы операторов Performance Schema OFF
DISABLE_PSI_STATEMENT_DIGEST Исключить измерительные приборы statements_digest Performance Schema OFF
DISABLE_PSI_TABLE Исключить измерительные приборы таблиц Performance Schema OFF
DISABLE_PSI_THREAD Исключить измерительные приборы потоков Performance Schema OFF
DISABLE_PSI_TRANSACTION Исключить измерительные приборы транзакций Performance Schema OFF
DOWNLOAD_BOOST Загружать библиотеку Boost OFF
DOWNLOAD_BOOST_TIMEOUT Таймаут в секундах для загрузки библиотеки Boost 600
ENABLED_LOCAL_INFILE Включить LOCAL для LOAD DATA OFF
ENABLED_PROFILING Включить код профилирования запросов ON
ENABLE_DOWNLOADS Загружать ли дополнительные файлы OFF
ENABLE_DTRACE Включить поддержку DTrace
ENABLE_GCOV Включить поддержку gcov
ENABLE_GPROF Включить gprof (только для оптимизированных сборок Linux) OFF
FORCE_UNSUPPORTED_COMPILER Разрешить использование неподдерживаемых компиляторов OFF
IGNORE_AIO_CHECK При -DBUILD_CONFIG=mysql_release, игнорировать проверку libaio OFF
INSTALL_BINDIR Директория пользовательских исполняемых файлов PREFIX/bin
INSTALL_DOCDIR Директория документации PREFIX/docs
INSTALL_DOCREADMEDIR Директория файла README PREFIX
INSTALL_INCLUDEDIR Директория заголовочных файлов PREFIX/include
INSTALL_INFODIR Директория файлов info PREFIX/docs
INSTALL_LAYOUT Выбрать предопределённую структуру установки STANDALONE
INSTALL_LIBDIR Директория файлов библиотек PREFIX/lib
INSTALL_MANDIR Директория справочных страниц PREFIX/man
INSTALL_MYSQLKEYRINGDIR Директория для файла данных плагина keyring_file platform specific 5.7.11
INSTALL_MYSQLSHAREDIR Директория общих данных PREFIX/share
INSTALL_MYSQLTESTDIR Директория mysql-test PREFIX/mysql-test
INSTALL_PKGCONFIGDIR Директория для файла pkg-config mysqlclient.pc INSTALL_LIBDIR/pkgconfig
INSTALL_PLUGINDIR Директория плагинов PREFIX/lib/plugin
INSTALL_SBINDIR Директория исполняемого файла сервера PREFIX/bin
INSTALL_SCRIPTDIR Директория скриптов PREFIX/scripts
INSTALL_SECURE_FILE_PRIVDIR Значение по умолчанию secure_file_priv platform specific
INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR Значение по умолчанию secure_file_priv для libmysqld
INSTALL_SHAREDIR Директория установки aclocal/mysql.m4 PREFIX/share
INSTALL_SUPPORTFILESDIR Дополнительная директория файлов поддержки PREFIX/support-files
MAX_INDEXES Максимальное количество индексов на таблицу 64
MEMCACHED_HOME Путь к memcached; устаревшее значение [none] 5.7.33
MUTEX_TYPE Тип блокировки InnoDB event
MYSQLX_TCP_PORT Номер порта TCP/IP, используемый плагином X 33060 5.7.17
MYSQLX_UNIX_ADDR Файл Unix-соккета, используемый плагином X /tmp/mysqlx.sock 5.7.15
MYSQL_DATADIR Директория данных
MYSQL_MAINTAINER_MODE Включить окружение разработчика, специфичное для MySQL разработчиков OFF
MYSQL_PROJECT_NAME Имя проекта для Windows/macOS MySQL
MYSQL_TCP_PORT Номер порта TCP/IP 3306
MYSQL_UNIX_ADDR Файл Unix-соккета /tmp/mysql.sock
ODBC_INCLUDES Директория заголовков ODBC
ODBC_LIB_DIR Директория библиотек ODBC
OPTIMIZER_TRACE Включить отслеживание оптимизатора
REPRODUCIBLE_BUILD Увеличить внимание на создание результата сборки, независимого от местоположения и времени сборки 5.7.19
SUNPRO_CXX_LIBRARY Библиотека для связи клиента на Solaris 10+
SYSCONFDIR Директория файла конфигурации
SYSTEMD_PID_DIR Директория для файла PID в systemd /var/run/mysqld
SYSTEMD_SERVICE_NAME Имя службы MySQL в systemd mysqld
TMPDIR Значение по умолчанию tmpdir
WIN_DEBUG_NO_INLINE Отключить встраивание функций OFF
WITHOUT_SERVER Не строить сервер; только для внутреннего использования OFF
WITHOUT_xxx_STORAGE_ENGINE Исключить движок хранения xxx из сборки
WITH_ASAN Включить AddressSanitizer OFF
WITH_ASAN_SCOPE Включить AddressSanitizer -fsanitize-address-use-after-scope флаг Clang OFF 5.7.21
WITH_AUTHENTICATION_LDAP Сообщить об ошибке, если LDAP плагины аутентификации не могут быть построены OFF 5.7.19
WITH_AUTHENTICATION_PAM Сборка плагина аутентификации PAM OFF
WITH_AWS_SDK Расположение набора инструментов для разработки Amazon Web Services 5.7.19
WITH_BOOST Расположение исходных кодов библиотеки Boost
WITH_BUNDLED_LIBEVENT Использовать встроенную libevent при построении ndbmemcache; устаревшее значение ON 5.7.33
WITH_BUNDLED_MEMCACHED Использовать встроенный memcached при построении ndbmemcache; устаревшее значение ON 5.7.33
WITH_CLASSPATH Путь к classpath для сборки MySQL Cluster Connector для Java. По умолчанию — пустая строка.
WITH_CLIENT_PROTOCOL_TRACING Сборка фреймворка отслеживания протокола на стороне клиента ON
WITH_CURL Расположение библиотеки curl 5.7.19
WITH_DEBUG Включить поддержку отладки OFF
WITH_DEFAULT_COMPILER_OPTIONS Использовать стандартные опции компилятора ON
WITH_DEFAULT_FEATURE_SET Использовать стандартный набор функций ON
WITH_EDITLINE Библиотека libedit/editline для использования bundled
WITH_EMBEDDED_SERVER Построить встроенный сервер OFF
WITH_EMBEDDED_SHARED_LIBRARY Построить общую библиотеку встроенного сервера OFF
WITH_ERROR_INSERT Включить ввод ошибок в движок хранения NDB. Не следует использовать для построения библиотек, предназначенных для производства. OFF
Дополнительные наборы символов Какие дополнительные наборы символов включить all
Путь к дистрибутиву googlemock Путь к дистрибутиву googlemock
Включить дополнительную отладку для InnoDB Включить дополнительную поддержку отладки для InnoDB. OFF
Генерация общих библиотек memcached Генерировать общие библиотеки memcached. OFF
Скомпилировать программу тестирования keyring Скомпилировать программу тестирования keyring OFF 5.7.11
Только для внутреннего использования Только для внутреннего использования 5.7.29
Библиотека libevent Какую библиотеку libevent использовать bundled
Поддержка libwrap (TCP wrappers) Включить поддержку libwrap (TCP wrappers) OFF
Поддержка LZ4 Тип поддержки библиотеки LZ4 bundled 5.7.14
Компиляция MeCab Компилирует MeCab
Включить MemorySanitizer Включить MemorySanitizer OFF
Включить отслеживание утечек памяти CRT Visual Studio Включить отслеживание утечек памяти Visual Studio CRT OFF
Компиляция примеров API Скомпилировать примеры программ API. OFF
Модуль хранения NDB NDB 8.0.30 и ранее: Скомпилировать движок хранения NDB. NDB 8.0.31 и новее: устарело; используйте WITH_NDB ON
Движок хранения NDBCLUSTER До NDB 8.0.31, это было только для внутреннего использования. NDB 8.0.31 и новее: включает (только) движок хранения NDBCLUSTER ON
Сборка многопоточного узла данных Сборка многопоточного бинарного файла узла данных ON
Включить протоколирование событий по умолчанию Включить протоколирование событий по умолчанию mysqld. ON
Произвести сборку для отладки Произвести сборку для отладки для тестирования или устранения неполадок. OFF
Поддержка Java и ClusterJ Включить сборку поддержки Java и ClusterJ. Включено по умолчанию. Поддерживается только в MySQL Cluster. ON
Порт управления NDB Порт по умолчанию, используемый сервером управления, скомпилированным с этим параметром. Если этот параметр не использовался при его сборке, порт сервера управления по умолчанию равен 1186. [none]
Включить тесты NDB API Включить программы тестирования API NDB. OFF
Политика распределения памяти NUMA Установить политику распределения памяти NUMA 5.7.17
Пакет Protocol Buffers Какой пакет Protocol Buffers использовать bundled 5.7.12
Плагины rapid Сборка плагинов для быстрого цикла разработки ON 5.7.12
Только для внутреннего использования Только для внутреннего использования 5.7.29
Поддержка SSL Тип поддержки SSL system
Поддержка systemd Включить установку файлов поддержки systemd OFF
Плагин отслеживания протоколов тестов Сборка плагина отслеживания протокола тестов OFF
Включить Undefined Behavior Sanitizer Включить Undefined Behavior Sanitizer OFF
Единые тесты MySQL Скомпилировать MySQL с едиными тестами ON
Поддержка unixODBC Включить поддержку unixODBC OFF
Файлы заголовков Valgrind Включить компиляцию файлов заголовков Valgrind OFF
Поддержка zlib Тип поддержки zlib bundled
Параметры движка хранения Скомпилировать статически движок хранения xxx в сервер

Общие параметры

  • -DBUILD_CONFIG=mysql_release

    Этот параметр настраивает дистрибутив исходных кодов с теми же параметрами сборки, которые используются Oracle для создания двоичных дистрибутивов для официальных выпусков MySQL.

  • Тип сборки

    Тип создаваемой сборки:

    • RelWithDebInfo: Включить оптимизации и сгенерировать информацию об отладке. Это тип сборки MySQL по умолчанию.

    • Debug: Отключить оптимизации и сгенерировать информацию об отладке. Этот тип сборки также используется, если параметр WITH_DEBUG включён. То есть, -DWITH_DEBUG=1 имеет тот же эффект, что и -DCMAKE_BUILD_TYPE=Debug.

  • -DCPACK_MONOLITHIC_INSTALL=bool

    Этот параметр влияет на то, генерирует ли операция make package несколько файлов пакета установки или один. Если отключен, операция генерирует несколько файлов пакета установки, что может быть полезно, если вы хотите установить только подмножество полной установки MySQL. Если включен, он генерирует один файл для установки всего.

Параметры расположения установки

Параметр CMAKE_INSTALL_PREFIX указывает базовый каталог установки. Другие параметры с именами в формате INSTALL_xxx, указывающие расположение компонентов, интерпретируются относительно префикса, и их значения являются относительными путями. Их значения не должны включать префикс.

  • -DCMAKE_INSTALL_PREFIX=dir_name

    Базовая директория установки.

    Это значение можно установить при запуске сервера, используя параметр --basedir.

  • -DINSTALL_BINDIR=dir_name

    Место установки пользовательских программ.

  • -DINSTALL_DOCDIR=dir_name

    Место установки документации.

  • -DINSTALL_DOCREADMEDIR=dir_name

    Место установки файлов README.

  • -DINSTALL_INCLUDEDIR=dir_name

    Место установки заголовочных файлов.

  • -DINSTALL_INFODIR=dir_name

    Место установки файлов Info.

  • -DINSTALL_LAYOUT=name

    Выберите предопределённую структуру установки:

    • STANDALONE: Такая же структура, как используется для пакетов .tar.gz и .zip. По умолчанию.

    • RPM: Структура, похожая на пакеты RPM.

    • SVR4: Структура Solaris пакетов.

    • DEB: Структура DEB пакетов (экспериментальная).

    Вы можете выбрать предопределённую структуру, но изменить расположение отдельных компонентов установки, указав другие параметры. Например:

    cmake . -DINSTALL_LAYOUT=SVR4 -DMYSQL_DATADIR=/var/mysql/data
    

    Значение INSTALL_LAYOUT определяет значение по умолчанию для системных переменных secure_file_priv, keyring_encrypted_file_data и keyring_file_data. См. описания этих переменных в Разделе 5.1.7, «Переменные системы сервера» и Разделе 6.4.4.12, «Переменные системы keyring».

  • -DINSTALL_LIBDIR=dir_name

    Место установки файлов библиотек.

  • -DINSTALL_MANDIR=dir_name

    Место установки руководств.

  • -DINSTALL_MYSQLKEYRINGDIR=dir_path

    Директория по умолчанию для размещения файла данных плагина keyring_file. Значение по умолчанию зависит от платформы и значения параметра INSTALL_LAYOUT CMake; см. описание системной переменной keyring_file_data в Разделе 5.1.7, «Переменные системы сервера».

    Этот параметр был добавлен в MySQL 5.7.11.

  • -DINSTALL_MYSQLSHAREDIR=dir_name

    Место установки общих файлов данных.

  • -DINSTALL_MYSQLTESTDIR=dir_name

    Место установки каталога mysql-test. Чтобы подавить установку этого каталога, явно задайте параметр пустым значением (-DINSTALL_MYSQLTESTDIR=).

  • -DINSTALL_PKGCONFIGDIR=dir_name

    Директория для установки файла mysqlclient.pc для использования pkg-config. Значение по умолчанию — INSTALL_LIBDIR/pkgconfig, если INSTALL_LIBDIR не заканчивается на /mysql, в противном случае удаляется сначала.

  • -DINSTALL_PLUGINDIR=dir_name

    Расположение каталога плагинов.

    Это значение может быть задано при запуске сервера с помощью параметра --plugin_dir.

  • -DINSTALL_SBINDIR=dir_name

    Место установки сервера mysqld.

  • -DINSTALL_SCRIPTDIR=dir_name

    Место установки mysql_install_db.

  • -DINSTALL_SECURE_FILE_PRIVDIR=dir_name

    Значение по умолчанию для системной переменной secure_file_priv. Значение по умолчанию зависит от платформы и значения параметра INSTALL_LAYOUT CMake; см. описание системной переменной secure_file_priv в Разделе 5.1.7, «Переменные системы сервера».

    Для установки значения для встраиваемого сервера используйте INSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR.

  • -DINSTALL_SECURE_FILE_PRIV_EMBEDDEDDIR=dir_name

    Значение по умолчанию для системной переменной secure_file_priv для встраиваемого сервера libmysqld.

    Примечание

    Библиотека встраиваемого сервера libmysqld устарела, начиная с MySQL 5.7.19; ожидается её удаление в MySQL 8.0.

  • -DINSTALL_SHAREDIR=dir_name

    Место установки aclocal/mysql.m4.

  • -DINSTALL_SUPPORTFILESDIR=dir_name

    Место установки дополнительных файлов поддержки.

  • -DMYSQL_DATADIR=dir_name

    Расположение каталога данных MySQL.

    Это значение можно установить при запуске сервера с помощью параметра --datadir.

  • -DODBC_INCLUDES=dir_name

    Расположение каталога заголовков ODBC, который может быть использован при настройке Connector/ODBC.

  • -DODBC_LIB_DIR=dir_name

    Расположение каталога библиотек ODBC, который может быть использован при настройке Connector/ODBC.

  • -DSYSCONFDIR=dir_name

    Директория по умолчанию для файла конфигурации my.cnf.

    Это расположение не может быть задано при запуске сервера, но вы можете запустить сервер с заданным файлом конфигурации, используя параметр --defaults-file=file_name, где file_name — полный путь к файлу.

  • -DSYSTEMD_PID_DIR=dir_name

    Имя директории, в которой будет создаваться файл PID, когда MySQL управляется systemd. По умолчанию — /var/run/mysqld; это может быть изменено неявно в зависимости от значения INSTALL_LAYOUT.

    Этот параметр игнорируется, если не включен WITH_SYSTEMD.

  • -DSYSTEMD_SERVICE_NAME=name

    Имя службы MySQL для использования, когда MySQL управляется systemd. По умолчанию — mysqld; это может быть изменено неявно в зависимости от значения INSTALL_LAYOUT.

    Этот параметр игнорируется, если не включен WITH_SYSTEMD.

  • -DTMPDIR=dir_name

    Местоположение по умолчанию для системной переменной tmpdir. Если не указано, по умолчанию устанавливается P_tmpdir в <stdio.h>.

Параметры движка хранения

Движки хранения создаются в виде плагинов. Вы можете скомпилировать плагин как статический модуль (включённый в сервер) или динамический модуль (скомпилированный как динамическую библиотеку, которую необходимо установить в сервер с помощью инструкции INSTALL PLUGIN или параметра --plugin-load, прежде чем он сможет быть использован). Некоторые плагины могут не поддерживать статическую или динамическую сборку.

Движки InnoDB, MyISAM, MERGE, MEMORY и CSV являются обязательными (всегда компилируются в сервер) и не требуют явного включения.

Для компиляции движка хранения статически в сервер используйте -DWITH_engine_STORAGE_ENGINE=1. Некоторые допустимые значения engine — это ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED и PARTITION (поддержка разбиения). Примеры:

-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1

Для компиляции MySQL с поддержкой NDB Cluster используйте параметр WITH_NDBCLUSTER.

Примечание

WITH_NDBCLUSTER поддерживается только при сборке NDB Cluster с использованием исходных кодов NDB Cluster. Он не может быть использован для включения поддержки кластеризации в других исходных деревьях или дистрибутивах MySQL. В дистрибутивах исходного кода NDB Cluster он включён по умолчанию. Подробную информацию см. в Разделе 21.3.1.4, «Сборка NDB Cluster из исходного кода на Linux» и Разделе 21.3.2.2, «Компиляция и установка NDB Cluster из исходного кода на Windows».

Примечание

Компиляция без поддержки Performance Schema невозможна. Если необходимо скомпилировать без определённых типов измерений производительности, это можно сделать с помощью следующих параметров CMake:

DISABLE_PSI_COND
DISABLE_PSI_FILE
DISABLE_PSI_IDLE
DISABLE_PSI_MEMORY
DISABLE_PSI_METADATA
DISABLE_PSI_MUTEX
DISABLE_PSI_PS
DISABLE_PSI_RWLOCK
DISABLE_PSI_SOCKET
DISABLE_PSI_SP
DISABLE_PSI_STAGE
DISABLE_PSI_STATEMENT
DISABLE_PSI_STATEMENT_DIGEST
DISABLE_PSI_TABLE
DISABLE_PSI_THREAD
DISABLE_PSI_TRANSACTION

Например, для компиляции без измерения производительности мьютексов, настройте MySQL с помощью -DDISABLE_PSI_MUTEX=1.

Чтобы исключить движок хранения из сборки, используйте -DWITH_engine_STORAGE_ENGINE=0. Примеры:

-DWITH_EXAMPLE_STORAGE_ENGINE=0
-DWITH_FEDERATED_STORAGE_ENGINE=0
-DWITH_PARTITION_STORAGE_ENGINE=0

Также возможно исключить движок хранения из сборки, используя -DWITHOUT_engine_STORAGE_ENGINE=1 (но -DWITH_engine_STORAGE_ENGINE=0 предпочтительнее). Примеры:

-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1

Если для данного движка хранения не указаны ни -DWITH_engine_STORAGE_ENGINE, ни -DWITHOUT_engine_STORAGE_ENGINE, движок будет собран как общий модуль или исключён, если он не может быть собран как общий модуль.

Параметры функций

  • -DCOMPILATION_COMMENT=string

    Описательный комментарий к среде компиляции.

  • -DDEFAULT_CHARSET=charset_name

    Набор символов сервера. По умолчанию MySQL использует набор символов latin1 (cp1252 Западная Европа).

    charset_name может быть одним из binary, armscii8, ascii, big5, cp1250, cp1251, cp1256, cp1257, cp850, cp852, cp866, cp932, dec8, eucjpms, euckr, gb2312, gbk, geostd8, greek, hebrew, hp8, keybcs2, koi8r, koi8u, latin1, latin2, latin5, latin7, macce, macroman, sjis, swe7, tis620, ucs2, ujis, utf8, utf8mb4, utf16, utf16le, utf32. Разрешенные наборы символов перечислены в файле cmake/character_sets.cmake в качестве значения CHARSETS_AVAILABLE.

    Это значение можно установить при запуске сервера с помощью опции --character-set-server.

  • -DDEFAULT_COLLATION=collation_name

    Правила сортировки сервера. По умолчанию MySQL использует latin1_swedish_ci. Используйте оператор SHOW COLLATION для определения доступных правил сортировки для каждого набора символов.

    Это значение можно установить при запуске сервера с помощью опции --collation_server.

  • -DDISABLE_PSI_COND=bool

    Включить или исключить инструментарий для проверки условия Performance Schema. По умолчанию OFF (включить).

  • -DDISABLE_PSI_FILE=bool

    Включить или исключить инструментарий для работы с файлами Performance Schema. По умолчанию OFF (включить).

  • -DDISABLE_PSI_IDLE=bool

    Включить или исключить инструментарий для работы в режиме ожидания Performance Schema. По умолчанию OFF (включить).

  • -DDISABLE_PSI_MEMORY=bool

    Включить или исключить инструментарий для работы с памятью Performance Schema. По умолчанию OFF (включить).

  • -DDISABLE_PSI_METADATA=bool

    Включить или исключить инструментарий для работы с метаданными Performance Schema. По умолчанию OFF (включить).

  • -DDISABLE_PSI_MUTEX=bool

    Включить или исключить инструментарий для работы с мьютексами Performance Schema. По умолчанию OFF (включить).

  • -DDISABLE_PSI_RWLOCK=bool

    Включить или исключить инструментарий для работы с rwlock Performance Schema. По умолчанию OFF (включить).

  • -DDISABLE_PSI_SOCKET=bool

    Включить или исключить инструментарий для работы с сокетами Performance Schema. По умолчанию OFF (включить).

  • -DDISABLE_PSI_SP=bool

    Включить или исключить инструментарий для работы с хранимыми процедурами Performance Schema. По умолчанию OFF (включить).

  • -DDISABLE_PSI_STAGE=bool

    Включить или исключить инструментарий для работы с этапами Performance Schema. По умолчанию OFF (включить).

  • -DDISABLE_PSI_STATEMENT=bool

    Включить или исключить инструментарий для работы с операторами Performance Schema. По умолчанию OFF (включить).

  • -DDISABLE_PSI_STATEMENT_DIGEST=bool

    Включить или исключить инструментарий для работы с дайджестами операторов Performance Schema. По умолчанию OFF (включить).

  • -DDISABLE_PSI_TABLE=bool

    Включить или исключить инструментарий для работы с таблицами Performance Schema. По умолчанию OFF (включить).

  • -DDISABLE_PSI_PS=bool

    Исключить инструментарий Performance Schema для экземпляров подготовленных операторов. По умолчанию OFF (включить).

  • -DDISABLE_PSI_THREAD=bool

    Исключить инструментарий Performance Schema для потоков. По умолчанию OFF (включить).

    Отключать потоки следует только при сборке без какого-либо инструментария, так как другие инструментарии зависят от потоков.

  • -DDISABLE_PSI_TRANSACTION=bool

    Исключить инструментарий Performance Schema для транзакций. По умолчанию OFF (включить).

  • -DDOWNLOAD_BOOST=bool

    Скачать библиотеку Boost. По умолчанию OFF.

    См. опцию WITH_BOOST для дополнительной информации об использовании Boost.

  • -DDOWNLOAD_BOOST_TIMEOUT=seconds

    Время ожидания в секундах для загрузки библиотеки Boost. По умолчанию 600 секунд.

    См. опцию WITH_BOOST для дополнительной информации об использовании Boost.

  • -DENABLE_DOWNLOADS=bool

    Скачать необязательные файлы. Например, при включенной этой опции CMake загружает дистрибутив Google Test, который используется набором тестов для запуска юнит-тестов.

  • -DENABLE_DTRACE=bool

    Включить поддержку зондирования DTrace. Для информации о DTrace см. Раздел 5.8.4, “Отслеживание mysqld с помощью DTrace”

    Эта опция устарела, так как поддержка DTrace устарела в MySQL 5.7 и удалена в MySQL 8.0.

  • -DENABLE_GCOV=bool

    Включить поддержку gcov (только Linux).

  • -DENABLE_GPROF=bool

    Включить gprof (только оптимизированные сборки Linux).

  • -DENABLED_LOCAL_INFILE=bool

    Данная опция управляет включенной по умолчанию возможностью LOCAL для библиотеки MySQL клиента. Клиенты, которые не принимают явных решений, поэтому имеют возможность LOCAL отключенной или включенной в соответствии с настройкой ENABLED_LOCAL_INFILE, указанной во время сборки MySQL.

    По умолчанию библиотека клиента в дистрибутивах MySQL бинарных файлов скомпилирована с ENABLED_LOCAL_INFILE выключенной. (До MySQL 5.7.6 она была включена по умолчанию.) Если вы компилируете MySQL из исходников, настройте его с ENABLED_LOCAL_INFILE выключенной или включенной в зависимости от того, должны ли клиенты, не принимающие явных решений, иметь возможность LOCAL выключенной или включенной соответственно.

    ENABLED_LOCAL_INFILE управляет по умолчанию возможностью LOCAL на стороне клиента. Для сервера, переменная local_infile управляет возможностью LOCAL на стороне сервера. Чтобы явно заставить сервер отказать или разрешить операторы LOAD DATA LOCAL (независимо от того, как конфигурируются программы и библиотеки клиентов во время компиляции или выполнения), запустите mysqld с --local-infile выключенной или включенной соответственно. local_infile также может быть установлено во время выполнения. См. Раздел 6.1.6, “Учет безопасности для LOAD DATA LOCAL”.

  • -DENABLED_PROFILING=bool

    Включать ли код профилирования запросов (для операторов SHOW PROFILE и SHOW PROFILES).

  • -DFORCE_UNSUPPORTED_COMPILER=bool

    По умолчанию CMake проверяет минимальные версии поддерживаемых компиляторов: Visual Studio 2013 (Windows); GCC 4.4 или Clang 3.3 (Linux); Developer Studio 12.5 (Solaris server); Developer Studio 12.2 или GCC 4.4 (Solaris client library); Clang 3.3 (macOS), Clang 3.3 (FreeBSD). Чтобы отключить эту проверку, используйте -DFORCE_UNSUPPORTED_COMPILER=ON.

  • -DIGNORE_AIO_CHECK=bool

    Если задан параметр -DBUILD_CONFIG=mysql_release в Linux, библиотека libaio должна быть по умолчанию связана. Если у вас нет libaio или вы не хотите устанавливать её, вы можете подавить проверку, указав -DIGNORE_AIO_CHECK=1.

  • -DMAX_INDEXES=num

    Максимальное количество индексов на таблицу. Значение по умолчанию — 64. Максимальное значение — 255. Значения меньше 64 игнорируются, и используется значение по умолчанию 64.

  • -DMYSQL_MAINTAINER_MODE=bool

    Включать ли среду разработки, специфичную для сопровождающих MySQL. Если включено, этот параметр приводит к тому, что предупреждения компилятора становятся ошибками.

  • -DMUTEX_TYPE=type

    Тип мьютекса, используемый InnoDB. Варианты включают:

    • event: Использовать мьютексы событий. Это значение по умолчанию и оригинальная реализация мьютекса InnoDB.

    • sys: Использовать мьютексы POSIX в UNIX-системах. Использовать объекты CRITICAL_SECTION в Windows, если доступно.

    • futex: Использовать Linux futexes вместо переменных условия для планирования ожидающих потоков.

  • -DMYSQLX_TCP_PORT=port_num

    Номер порта, на котором X Plugin прослушивает TCP/IP-подключения. Значение по умолчанию — 33060.

    Это значение можно установить при запуске сервера с помощью системной переменной mysqlx_port.

  • -DMYSQLX_UNIX_ADDR=file_name

    Путь к файлу Unix-соккета, на котором сервер прослушивает подключения X Plugin сокета. Это должно быть абсолютное имя пути. Значение по умолчанию — /tmp/mysqlx.sock.

    Это значение можно установить при запуске сервера с помощью системной переменной mysqlx_port.

  • -DMYSQL_PROJECT_NAME=name

    Для Windows или macOS, имя проекта для включения в имя файла проекта.

  • -DMYSQL_TCP_PORT=port_num

    Номер порта, на котором сервер прослушивает TCP/IP-подключения. Значение по умолчанию — 3306.

    Это значение можно установить при запуске сервера с помощью параметра --port.

  • -DMYSQL_UNIX_ADDR=file_name

    Путь к файлу Unix-соккета, на котором сервер прослушивает сокетные подключения. Это должно быть абсолютное имя пути. Значение по умолчанию — /tmp/mysql.sock.

    Это значение можно установить при запуске сервера с помощью параметра --socket.

  • -DOPTIMIZER_TRACE=bool

    Поддерживать ли трассировку оптимизатора. Смотрите Раздел 8.15, «Трассировка оптимизатора».

  • -DREPRODUCIBLE_BUILD=bool

    Для сборок в Linux-системах этот параметр управляет тем, следует ли проявлять дополнительную осторожность при создании результата сборки, независимого от местоположения и времени сборки.

    Этот параметр был добавлен в MySQL 5.7.19.

  • -DWIN_DEBUG_NO_INLINE=bool

    Отключать ли встраивание функций в Windows. Значение по умолчанию — OFF (встраивание включено).

  • -DWITH_ASAN=bool

    Включать ли AddressSanitizer для компиляторов, которые его поддерживают. Значение по умолчанию — OFF.

  • -DWITH_ASAN_SCOPE=bool

    Включать ли флаг AddressSanitizer -fsanitize-address-use-after-scope Clang для обнаружения использования после выхода из области видимости. Значение по умолчанию — выключено. Для использования этого параметра, -DWITH_ASAN также должен быть включен.

  • -DWITH_AUTHENTICATION_LDAP=bool

    Сообщать ли об ошибке, если плагины аутентификации LDAP не могут быть собраны:

    • Если этот параметр отключен (по умолчанию), плагины LDAP компилируются, если найдены необходимые заголовочные файлы и библиотеки. Если их нет, CMake выводит об этом заметку.

    • Если этот параметр включен, невозможность найти необходимые заголовочные файлы и библиотеки приводит к тому, что CMake выдает ошибку, предотвращая сборку сервера.

    Для получения информации об аутентификации LDAP, см. Раздел 6.4.1.9, «LDAP Pluggable Authentication». Этот параметр был добавлен в MySQL 5.7.19.

  • -DWITH_AUTHENTICATION_PAM=bool

    Компилировать ли плагин аутентификации PAM для деревьев исходных кодов, которые включают этот плагин. (См. Раздел 6.4.1.7, «PAM Pluggable Authentication».) Если этот параметр указан, и плагин не может быть скомпилирован, сборка завершается неудачей.

  • -DWITH_AWS_SDK=path_name

    Расположение пакета разработки Amazon Web Services.

    Этот параметр был добавлен в MySQL 5.7.19.

  • -DWITH_BOOST=path_name

    Библиотека Boost необходима для сборки MySQL. Эти параметры CMake позволяют управлять расположением исходного кода библиотеки и тем, следует ли загружать её автоматически:

    • -DWITH_BOOST=path_name указывает расположение каталога библиотеки Boost. Также можно указать расположение Boost, установив переменную среды BOOST_ROOT или WITH_BOOST.

      Начиная с MySQL 5.7.11, -DWITH_BOOST=system также разрешен и указывает на то, что правильная версия Boost установлена на хосте компиляции в стандартном расположении. В этом случае используется установленная версия Boost, а не любая версия, включенная в дистрибутив исходного кода MySQL.

    • -DDOWNLOAD_BOOST=bool указывает, следует ли загружать исходный код Boost, если его нет в указанном расположении. Значение по умолчанию — OFF.

    • -DDOWNLOAD_BOOST_TIMEOUT=seconds время ожидания в секундах для загрузки библиотеки Boost. Значение по умолчанию — 600 секунд.

    Например, если вы обычно создаете MySQL, помещая выходные данные объекта в подкаталог bld вашего дерева исходных кодов MySQL, вы можете выполнить сборку с Boost следующим образом:

    mkdir bld
    cd bld
    cmake .. -DDOWNLOAD_BOOST=ON -DWITH_BOOST=$HOME/my_boost
    

    Это приводит к загрузке Boost в каталог my_boost в вашем домашнем каталоге. Если необходимая версия Boost уже существует, загрузка не выполняется. Если необходимая версия Boost изменится, будет загружена более новая версия.

    Если Boost уже установлен локально, и ваш компилятор сам находит заголовочные файлы Boost, может не потребоваться указывать предыдущие параметры CMake. Однако, если версия Boost, необходимая для MySQL, изменится, и локально установленная версия не будет обновлена, у вас могут возникнуть проблемы со сборкой. Использование параметров CMake должно обеспечить успешную сборку.

    С приведенными выше настройками, которые позволяют загружать Boost в указанное место, когда необходимая версия Boost изменится, вам нужно удалить папку bld, пересоздать её и снова выполнить шаг cmake. В противном случае новая версия Boost может не загрузиться, и компиляция может завершиться неудачей.

  • -DWITH_CLIENT_PROTOCOL_TRACING=bool

    Включать ли в клиентскую библиотеку фреймворк трассировки протокола на стороне клиента. По умолчанию этот параметр включен.

    Информацию о написании плагинов трассировки протокола клиента см. в разделе Writing Protocol Trace Plugins.

    См. также параметр WITH_TEST_TRACE_PLUGIN.

  • -DWITH_CURL=curl_type

    Расположение библиотеки curl. curl_type может быть system (использовать системную библиотеку curl) или именем пути к библиотеке curl.

    Этот параметр был добавлен в MySQL 5.7.19.

  • -DWITH_DEBUG=bool

    Включать ли поддержку отладки.

    Настройка MySQL с поддержкой отладки позволяет использовать параметр --debug="d,parser_debug" при запуске сервера. Это приводит к тому, что синтаксический анализатор Bison, используемый для обработки операторов SQL, выгружает трассировку анализатора в стандартный вывод ошибок сервера. Обычно этот вывод записывается в лог ошибок.

    Проверка синхронизации отладки для движка хранения InnoDB определяется в UNIV_DEBUG и доступна, когда поддержка отладки компилируется с использованием параметра WITH_DEBUG. Когда поддержка отладки компилируется, параметр конфигурации innodb_sync_debug может использоваться для включения или отключения проверки синхронизации отладки InnoDB.

    Начиная с MySQL 5.7.18, включение WITH_DEBUG также включает отладку синхронизации. Описание функции отладки синхронизации и порядок использования точек синхронизации см. в разделе MySQL Internals: Test Synchronization.

  • -DWITH_DEFAULT_FEATURE_SET=bool

    Использовать ли флаги из cmake/build_configurations/feature_set.cmake.

  • -DWITH_EDITLINE=value

    Какую библиотеку libedit/editline использовать. Допустимые значения: bundled (по умолчанию) и system.

    WITH_EDITLINE заменяет WITH_LIBEDIT, который был удален.

  • -DWITH_EMBEDDED_SERVER=bool

    Создавать ли библиотеку встроенного сервера libmysqld.

    Примечание

    Библиотека встроенного сервера libmysqld устарела, начиная с MySQL 5.7.17, и была удалена в MySQL 8.0.

  • -DWITH_EMBEDDED_SHARED_LIBRARY=bool

    Создавать ли общую библиотеку встроенного сервера libmysqld.

    Примечание

    Библиотека встроенного сервера libmysqld устарела, начиная с MySQL 5.7.17, и была удалена в MySQL 8.0.

  • -DWITH_EXTRA_CHARSETS=name

    Какие дополнительные кодировки включить:

    • all: Все кодировки. Это значение используется по умолчанию.

    • complex: Сложные кодировки.

    • none: Никаких дополнительных кодировок.

  • -DWITH_GMOCK=path_name

    Путь к дистрибутиву googlemock, для использования с модульными тестами на основе Google Test. Значение параметра — путь к дистрибутивному Zip-файлу. В качестве альтернативы задайте переменную среды WITH_GMOCK с именем пути. Также можно использовать -DENABLE_DOWNLOADS=1, в этом случае CMake загрузит дистрибутив с GitHub.

    Если вы создаете MySQL без модульных тестов Google Test (настраивая без WITH_GMOCK), CMake отобразит сообщение о том, как его загрузить.

  • -DWITH_INNODB_EXTRA_DEBUG=bool

    Включать ли дополнительную поддержку отладки InnoDB.

    Включение WITH_INNODB_EXTRA_DEBUG включает дополнительные проверки отладки InnoDB. Этот параметр может быть включен только тогда, когда включен WITH_DEBUG.

  • -DWITH_INNODB_MEMCACHED=bool

    Создавать ли общие библиотеки memcached (libmemcached.so и innodb_engine.so).

  • -DWITH_KEYRING_TEST=bool

    Создавать ли тестовую программу, которая сопровождает плагин keyring_file. Значение по умолчанию — OFF. Исходный код тестового файла находится в каталоге plugin/keyring/keyring-test.

    Этот параметр был добавлен в MySQL 5.7.11.

  • -DWITH_LDAP=value

    Только для внутреннего использования. Этот параметр был добавлен в MySQL 5.7.29.

  • -DWITH_LIBEVENT=string

    Какую библиотеку libevent использовать. Допустимые значения: bundled (по умолчанию) и system. До MySQL 5.7.31, если вы указываете system, используется системная библиотека libevent, если она присутствует, и возникает ошибка в противном случае. В MySQL 5.7.31 и более поздних версиях, если указано system и не найдена системная библиотека libevent, возникает ошибка независимо от этого, и встроенная libevent не используется.

    Библиотека libevent необходима для memcached и плагина X.

  • -DWITH_LIBWRAP=bool

    Включать ли поддержку libwrap (TCP wrappers).

  • -DWITH_LZ4=lz4_type

    Параметр WITH_LZ4 указывает источник поддержки zlib:

    • bundled: Использовать библиотеку lz4, включенную в дистрибутив. Это значение используется по умолчанию.

    • system: Использовать системную библиотеку lz4. Если WITH_LZ4 имеет это значение, утилита lz4_decompress не создается. В этом случае вместо этого можно использовать системную команду lz4.

  • -DWITH_MECAB={disabled|system|path_name}

    Используйте этот параметр для компиляции парсера MeCab. Если вы установили MeCab в его каталог установки по умолчанию, установите -DWITH_MECAB=system. Параметр system применяется к установкам MeCab, выполненным из исходного кода или из двоичных файлов с помощью утилиты управления пакетами. Если вы установили MeCab в пользовательский каталог установки, укажите путь к установке MeCab, например, -DWITH_MECAB=/opt/mecab. Если параметр system не работает, указание пути установки MeCab должно работать во всех случаях.

    Для получения дополнительной информации см. Раздел 12.9.9, «Плагин парсера полнотекстового поиска MeCab».

  • -DWITH_MSAN=bool

    Включать ли MemorySanitizer для компиляторов, которые его поддерживают. По умолчанию отключено.

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

  • -DWITH_MSCRT_DEBUG=bool

    Включать ли трассировку утечек памяти Visual Studio CRT. Значение по умолчанию — OFF.

  • -DWITH_NUMA=bool

    Явно задать политику распределения памяти NUMA. CMake устанавливает значение по умолчанию для WITH_NUMA на основе наличия поддержки NUMA на текущей платформе. Для платформ без поддержки NUMA CMake ведет себя следующим образом:

    • Без опции NUMA (обычный случай) CMake продолжает работу, выдав только это предупреждение: Библиотека NUMA отсутствует или несовместима с требуемой версией.

    • С -DWITH_NUMA=ON, CMake прерывается с этой ошибкой: Библиотека NUMA отсутствует или несовместима с требуемой версией.

    Эта опция была добавлена в MySQL 5.7.17.

  • -DWITH_PROTOBUF=protobuf_type

    Какой пакет Protocol Buffers использовать. protobuf_type может принимать следующие значения:

    • bundled: Использовать пакет, входящий в состав дистрибутива. Это значение по умолчанию.

    • system: Использовать пакет, установленный в системе.

    Другие значения игнорируются, с возвратом к значению bundled.

    Эта опция была добавлена в MySQL 5.7.12.

  • -DWITH_RAPID=bool

    Включать или нет плагины для быстрого цикла разработки. При включении в дереве сборки создается директория rapid, содержащая эти плагины. При отключении директория rapid не создается. Значение по умолчанию — ON, если только директория rapid не удалена из дерева исходного кода, в этом случае значение по умолчанию становится OFF. Эта опция была добавлена в MySQL 5.7.12.

  • -DWITH_SASL=value

    Только для внутреннего использования. Эта опция была добавлена в MySQL 5.7.29. Не поддерживается на Windows.

  • -DWITH_SSL={ssl_type|path_name}

    Для поддержки шифрованных подключений, генерации случайных чисел и других операций, связанных с шифрованием, MySQL должен быть скомпилирован с использованием библиотеки SSL. Эта опция определяет, какую библиотеку SSL использовать.

    • ssl_type может принимать следующие значения:

      • yes: Использовать системную библиотеку OpenSSL, если она присутствует, иначе использовать библиотеку, включенную в дистрибутив.

      • bundled: Использовать библиотеку SSL, входящую в состав дистрибутива. Это значение по умолчанию до MySQL 5.7.28. Начиная с версии 5.7.28, это значение больше не допускается, и значение по умолчанию — system.

      • system: Использовать системную библиотеку OpenSSL. Это значение по умолчанию начиная с MySQL 5.7.28.

    • path_name — путь к установке OpenSSL, которую необходимо использовать. Это может быть предпочтительнее, чем использование значения ssl_type из system, поскольку это может помешать CMake обнаружить и использовать устаревшую или неправильную версию OpenSSL, установленную в системе. (Другой допустимый способ сделать то же самое — установить WITH_SSL на system и установить опцию CMAKE_PREFIX_PATH на path_name.)

    Дополнительную информацию о настройке библиотеки SSL см. в разделе 2.8.6, «Настройка поддержки библиотеки SSL».

  • -DWITH_SYSTEMD=bool

    Включить или нет установку файлов поддержки systemd. По умолчанию эта опция отключена. При включении устанавливаются файлы поддержки systemd, а скрипты, такие как mysqld_safe и скрипт инициализации System V, не устанавливаются. На платформах, где systemd недоступен, включение WITH_SYSTEMD приводит к ошибке в CMake.

    Более подробную информацию об использовании systemd см. в разделе 2.5.10, «Управление MySQL-сервером с помощью systemd». В этом разделе также содержится информация о задании параметров, которые в противном случае указываются в группах опций [mysqld_safe]. Поскольку mysqld_safe не устанавливается при использовании systemd, такие параметры нужно указать другим способом.

  • -DWITH_TEST_TRACE_PLUGIN=bool

    Включить или нет плагин клиента отслеживания трассировки протокола тестов (см. Использование плагина трассировки протокола тестов). По умолчанию эта опция отключена. Включение этой опции не имеет эффекта, если не включена опция WITH_CLIENT_PROTOCOL_TRACING. Если MySQL настроен с обеими включенными опциями, клиентская библиотека libmysqlclient компилируется с встроенным плагином трассировки протокола тестов, и все стандартные клиенты MySQL загружают этот плагин. Однако даже при включенном плагине тестов он по умолчанию не действует. Управление плагином осуществляется с помощью переменных среды; см. Использование плагина трассировки протокола тестов.

    Примечание

    Не включайте опцию WITH_TEST_TRACE_PLUGIN, если вы хотите использовать собственные плагины трассировки протоколов, поскольку одновременно может быть загружен только один такой плагин, а попытки загрузки второго приводят к ошибке. Если вы уже скомпилировали MySQL с включенным плагином трассировки протокола тестов, чтобы посмотреть, как он работает, вы должны перекомпилировать MySQL без него, прежде чем сможете использовать собственные плагины.

    Сведения о написании плагинов трассировки см. в Руководстве по написанию плагинов трассировки протоколов.

  • -DWITH_UBSAN=bool

    Включить или нет Undefined Behavior Sanitizer для компиляторов, поддерживающих эту функцию. По умолчанию отключено.

  • -DWITH_UNIT_TESTS={ON|OFF}

    При включении MySQL компилируется с тестами модулей. По умолчанию — ON, если сервер не компилируется.

  • -DWITH_UNIXODBC=1

    Включает поддержку unixODBC для Connector/ODBC.

  • -DWITH_VALGRIND=bool

    Включить или нет заголовки Valgrind, которые предоставляют API Valgrind для кода MySQL. По умолчанию — OFF.

    Для создания сборки отладки, поддерживающей Valgrind, опцию -DWITH_VALGRIND=1 обычно комбинируют с -DWITH_DEBUG=1. См. Настройка конфигураций отладки.

  • -DWITH_ZLIB=zlib_type

    Некоторые функции требуют поддержки библиотек сжатия, таких как функции COMPRESS() и UNCOMPRESS(), и сжатия клиентского/серверного протокола. Опция WITH_ZLIB указывает источник поддержки zlib:

    • bundled: Использовать библиотеку zlib, входящую в дистрибутив. Это значение по умолчанию.

    • system: Использовать системную библиотеку zlib.

  • -DWITHOUT_SERVER=bool

    Скомпилировать без MySQL-сервера. По умолчанию — ВЫКЛ., что означает компиляцию сервера.

    Эта опция считается экспериментальной; предпочтительнее компилировать с сервером.

Флаги компилятора

  • -DCMAKE_C_FLAGS="flags"

    Флаги для компилятора C.

  • -DCMAKE_CXX_FLAGS="flags"

    Флаги для компилятора C++.

  • -DWITH_DEFAULT_COMPILER_OPTIONS=bool

    Использовать ли флаги из cmake/build_configurations/compiler_options.cmake.

    Примечание

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

  • -DSUNPRO_CXX_LIBRARY="lib_name"

    Включить компоновку с libCstd вместо stlport4 в Solaris 10 или более поздних версиях. Это работает только для клиентского кода, поскольку сервер зависит от C++98.

Чтобы указать собственные флаги компилятора C и C++ для флагов, которые не влияют на оптимизацию, используйте параметры CMake CMAKE_C_FLAGS и CMAKE_CXX_FLAGS.

При указании собственных флагов компилятора может потребоваться также указать CMAKE_BUILD_TYPE.

Например, чтобы создать 32-битную релизную сборку на 64-битной машине Linux, сделайте следующее:

$> mkdir build
$> cd build
$> cmake .. -DCMAKE_C_FLAGS=-m32 \
  -DCMAKE_CXX_FLAGS=-m32 \
  -DCMAKE_BUILD_TYPE=RelWithDebInfo

Если вы устанавливаете флаги, влияющие на оптимизацию (-Onumber), необходимо установить параметры CMAKE_C_FLAGS_build_type и/или CMAKE_CXX_FLAGS_build_type, где build_type соответствует значению CMAKE_BUILD_TYPE. Чтобы указать другую оптимизацию для типа сборки по умолчанию (RelWithDebInfo), установите параметры CMAKE_C_FLAGS_RELWITHDEBINFO и CMAKE_CXX_FLAGS_RELWITHDEBINFO. Например, для компиляции в Linux с -O3 и с отладочными символами, сделайте следующее:

$> cmake .. -DCMAKE_C_FLAGS_RELWITHDEBINFO="-O3 -g" \
  -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O3 -g"

Параметры CMake для компиляции NDB Cluster

Следующие параметры предназначены для использования при сборке NDB Cluster с исходными кодами NDB Cluster; в настоящее время они не поддерживаются при использовании исходных кодов из дерева сервера MySQL 5.7.

  • -DMEMCACHED_HOME=dir_name

    Поддержка NDB для memcached была удалена в NDB 7.5.21 и NDB 7.6.17; таким образом, этот параметр больше не поддерживается для сборки NDB в этих или более поздних версиях.

  • -DWITH_BUNDLED_LIBEVENT={ON|OFF}

    Поддержка NDB для memcached была удалена в NDB 7.5.21 и NDB 7.6.17, и поэтому этот параметр больше не поддерживается для сборки NDB в этих или более поздних версиях.

  • -DWITH_BUNDLED_MEMCACHED={ON|OFF}

    Поддержка NDB для memcached была удалена в NDB 7.5.21 и NDB 7.6.17, и поэтому этот параметр больше не поддерживается для сборки NDB в этих или более поздних версиях.

  • -DWITH_CLASSPATH=path

    Устанавливает classpath для сборки MySQL NDB Cluster Connector для Java. Значение по умолчанию пустое. Этот параметр игнорируется, если используется -DWITH_NDB_JAVA=OFF.

  • -DWITH_ERROR_INSERT={ON|OFF}

    Включает внедрение ошибок в ядро NDB. Только для тестирования; не предназначено для использования при создании производственных бинарных файлов. Значение по умолчанию — OFF.

  • -DWITH_NDBAPI_EXAMPLES={ON|OFF}

    Сборка примерных программ NDB API в storage/ndb/ndbapi-examples/. См. , для получения информации об этом.

  • -DWITH_NDBCLUSTER_STORAGE_ENGINE={ON|OFF}

    Только для внутреннего использования; может не всегда работать как ожидается. Чтобы собрать с поддержкой NDB, используйте WITH_NDBCLUSTER вместо этого.

  • -DWITH_NDBCLUSTER={ON|OFF}

    Сборка и компоновка поддержки для механизма хранения NDB в mysqld. Значение по умолчанию — ON.

  • -DWITH_NDBMTD={ON|OFF}

    Сборка многопоточного исполняемого файла узла данных ndbmtd. Значение по умолчанию — ON.

  • -DWITH_NDB_BINLOG={ON|OFF}

    Включить ведение двоичного журнала по умолчанию в mysqld, собранном с использованием этого параметра. ON по умолчанию.

  • -DWITH_NDB_DEBUG={ON|OFF}

    Включить сборку отладочных версий бинарных файлов NDB Cluster. Это OFF по умолчанию.

  • -DWITH_NDB_JAVA={ON|OFF}

    Включить сборку NDB Cluster с поддержкой Java, включая поддержку ClusterJ (см. ).

    Этот параметр ON по умолчанию. Если вы не хотите компилировать NDB Cluster с поддержкой Java, вы должны явно отключить его, указав -DWITH_NDB_JAVA=OFF при запуске CMake. В противном случае, если Java не может быть найдена, настройка сборки завершается ошибкой.

  • -DWITH_NDB_PORT=port

    Заставляет сервер управления NDB Cluster (ndb_mgmd), который создается, использовать этот port по умолчанию. Если этот параметр не установлен, результирующий сервер управления пытается использовать порт 1186 по умолчанию.

  • -DWITH_NDB_TEST={ON|OFF}

    Если включено, включить набор тестовых программ NDB API. Значение по умолчанию — OFF.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/source-configuration-options.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API