このページは機械翻訳したものです。
CMake プログラムを使用すると、MySQL ソース配布の構成方法を大幅に制御できます。 通常これは、CMake コマンド行でオプションを使用して行います。 CMake がサポートするオプションの詳細は、トップレベルのソースディレクトリで次のコマンドのいずれかを実行します。
cmake . -LH
ccmake .
特定の環境変数を使用して CMake に影響を与えることもできます。 セクション4.9「環境変数」を参照してください。
boolean オプションでは、値を 1 または ON に指定してオプションを有効にするか、0 または OFF に指定して無効にします。
多くのオプションはコンパイル時のデフォルトを構成し、それらはサーバー起動時にオーバーライドできます。 たとえば、デフォルトのインストールベースディレクトリ、TCP/IP ポート番号、および Unix ソケットファイルを構成する CMAKE_INSTALL_PREFIX、MYSQL_TCP_PORT、および MYSQL_UNIX_ADDR の各オプションは、サーバー起動時に mysqld の --basedir、--port、および --socket オプションで変更できます。 該当する場合は、構成オプションの説明で対応する mysqld スタートアップオプションを示します。
次のセクションでは、CMake オプションについてより詳しく説明します。
次の表は、使用可能な CMake オプションを示しています。 デフォルトカラムで、PREFIX は CMAKE_INSTALL_PREFIX オプションの値を意味します。これは、インストールのベースディレクトリを指定します。 この値は、一部のインストールサブディレクトリの親の場所として使用されます。
表 2.14 「MySQL ソース構成オプションリファレンス (CMake)」
| 形式 | 説明 | デフォルト | 導入 | 削除 |
|---|---|---|---|---|
ADD_GDB_INDEX |
生成を有効にするかどうか。バイナリの gdb_index セクション | 8.0.18 | ||
BUILD_CONFIG |
公式なリリースと同じビルドオプションを使用 | |||
BUNDLE_RUNTIME_LIBRARIES |
ランタイムライブラリと Windows 用のサーバー MSI および Zip パッケージのバンドル | OFF |
||
CMAKE_BUILD_TYPE |
生成するビルドのタイプ | RelWithDebInfo |
||
CMAKE_CXX_FLAGS |
C++ コンパイラのフラグ | |||
CMAKE_C_FLAGS |
C コンパイラのフラグ | |||
CMAKE_INSTALL_PREFIX |
インストールの基本ディレクトリ | /usr/local/mysql |
||
COMPILATION_COMMENT |
コンパイル環境に関するコメント | |||
COMPILATION_COMMENT_SERVER |
mysqld で使用するコンパイル環境に関するコメント | 8.0.14 | ||
COMPRESS_DEBUG_SECTIONS |
バイナリ実行可能ファイルのデバッグセクションの圧縮 | OFF |
8.0.22 | |
CPACK_MONOLITHIC_INSTALL |
パッケージビルドが単独のファイルを生成するかどうか | OFF |
||
DEFAULT_CHARSET |
デフォルトのサーバー文字セット | utf8mb4 |
||
DEFAULT_COLLATION |
デフォルトのサーバー照合順序 | utf8mb4_0900_ai_ci |
||
DISABLE_PSI_COND |
Exclude Performance Schema 状態インストゥルメンテーション | OFF |
||
DISABLE_PSI_DATA_LOCK |
パフォーマンススキーマデータロックインストゥルメンテーションを除外 | OFF |
||
DISABLE_PSI_ERROR |
パフォーマンススキーマサーバーエラーの計測を除外 | OFF |
||
DISABLE_PSI_FILE |
Exclude Performance Schema ファイルインストゥルメンテーション | OFF |
||
DISABLE_PSI_IDLE |
Exclude Performance Schema アイドルインストゥルメンテーション | OFF |
||
DISABLE_PSI_MEMORY |
Exclude Performance Schema メモリーインストゥルメンテーション | OFF |
||
DISABLE_PSI_METADATA |
Exclude Performance Schema メタデータインストゥルメンテーション | OFF |
||
DISABLE_PSI_MUTEX |
Exclude Performance Schema 相互排他ロックインストゥルメンテーション | OFF |
||
DISABLE_PSI_PS |
パフォーマンススキーマのプリペアドステートメントの除外 | OFF |
||
DISABLE_PSI_RWLOCK |
Exclude Performance Schema rwlock インストゥルメンテーション | OFF |
||
DISABLE_PSI_SOCKET |
Exclude Performance Schema ソケットインストゥルメンテーション | OFF |
||
DISABLE_PSI_SP |
Exclude Performance Schema ストアドプログラムインストゥルメンテーション | OFF |
||
DISABLE_PSI_STAGE |
Exclude Performance Schema ステージングインストゥルメンテーション | OFF |
||
DISABLE_PSI_STATEMENT |
Exclude Performance Schema ステートメントインストゥルメンテーション | OFF |
||
DISABLE_PSI_STATEMENT_DIGEST |
Exclude Performance Schema statements_digest インストゥルメンテーション | OFF |
||
DISABLE_PSI_TABLE |
Exclude Performance Schema テーブルインストゥルメンテーション | OFF |
||
DISABLE_PSI_THREAD |
パフォーマンススキーマスレッドインストゥルメンテーションを除外 | OFF |
||
DISABLE_PSI_TRANSACTION |
パフォーマンススキーマのトランザクションインストゥルメンテーションの除外 | OFF |
||
DISABLE_SHARED |
共有ライブラリを構築せず、位置依存コードをコンパイル | OFF |
8.0.18 | |
DOWNLOAD_BOOST |
Boost ライブラリをダウンロードするかどうか | OFF |
||
DOWNLOAD_BOOST_TIMEOUT |
Boost ライブラリをダウンロードするためのタイムアウト (秒) | 600 |
||
ENABLED_LOCAL_INFILE |
LOAD DATA の LOCAL を有効にするかどうか | OFF |
||
ENABLED_PROFILING |
クエリープロファイリングコードを有効にするかどうか | ON |
||
ENABLE_DOWNLOADS |
オプションファイルをダウンロードするかどうか | OFF |
||
ENABLE_EXPERIMENTAL_SYSVARS |
実験的な InnoDB システム変数を有効にするかどうか | OFF |
||
ENABLE_GCOV |
gcov サポートをインクルードするかどうか | |||
ENABLE_GPROF |
gprof の有効化 (Linux ビルドのみに最適化) | OFF |
||
FORCE_INSOURCE_BUILD |
ソース内ビルドを強制するかどうか | OFF |
8.0.14 | |
FORCE_UNSUPPORTED_COMPILER |
サポートされていないコンパイラを許可するかどうか | OFF |
||
FPROFILE_GENERATE |
プロファイルガイド付き最適化データを生成するかどうか | OFF |
8.0.19 | |
FPROFILE_USE |
プロファイルガイド付き最適化データを使用するかどうか | OFF |
8.0.19 | |
IGNORE_AIO_CHECK |
-DBUILD_CONFIG=mysql_release とともに、libaio チェックを無視する | OFF |
||
INSTALL_BINDIR |
ユーザー実行可能ファイルディレクトリ | PREFIX/bin |
||
INSTALL_DOCDIR |
ドキュメントディレクトリ | PREFIX/docs |
||
INSTALL_DOCREADMEDIR |
README ファイルディレクトリ | PREFIX |
||
INSTALL_INCLUDEDIR |
Header ファイルディレクトリ | PREFIX/include |
||
INSTALL_INFODIR |
Info ファイルディレクトリ | PREFIX/docs |
||
INSTALL_LAYOUT |
事前定義インストールレイアウトの選択 | STANDALONE |
||
INSTALL_LIBDIR |
Library ファイルディレクトリ | PREFIX/lib |
||
INSTALL_MANDIR |
Manual ページディレクトリ | PREFIX/man |
||
INSTALL_MYSQLKEYRINGDIR |
keyring_file プラグインデータファイルのディレクトリ | プラットフォーム固有 |
||
INSTALL_MYSQLSHAREDIR |
共有データディレクトリ | PREFIX/share |
||
INSTALL_MYSQLTESTDIR |
mysql-test ディレクトリ | PREFIX/mysql-test |
||
INSTALL_PKGCONFIGDIR |
mysqlclient.pc pkg-config ファイルのディレクトリ | INSTALL_LIBDIR/pkgconfig |
||
INSTALL_PLUGINDIR |
Plugin ディレクトリ | PREFIX/lib/plugin |
||
INSTALL_PRIV_LIBDIR |
インストールプライベートライブラリディレクトリ | 8.0.18 | ||
INSTALL_SBINDIR |
サーバー実行可能ファイルディレクトリ | PREFIX/bin |
||
INSTALL_SECURE_FILE_PRIVDIR |
secure_file_priv のデフォルト値 | プラットフォーム固有 |
||
INSTALL_SHAREDIR |
aclocal/mysql.m4 インストールディレクトリ | PREFIX/share |
||
INSTALL_STATIC_LIBRARIES |
静的ライブラリをインストールするかどうか | ON |
||
INSTALL_SUPPORTFILESDIR |
その他のサポートファイルディレクトリ | PREFIX/support-files |
||
LINK_RANDOMIZE |
mysqld バイナリ内のシンボルの順序をランダム化するかどうか | OFF |
||
LINK_RANDOMIZE_SEED |
LINK_RANDOMIZE オプションのシード値 | mysql |
||
MAX_INDEXES |
テーブルあたりの最大インデックス数 | 64 |
||
MUTEX_TYPE |
InnoDB 相互排他ロックタイプ | event |
||
MYSQLX_TCP_PORT |
X プラグインで使用される TCP/IP ポート番号 | 33060 |
||
MYSQLX_UNIX_ADDR |
X プラグインで使用される Unix ソケットファイル | /tmp/mysqlx.sock |
||
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 |
||
NDB_UTILS_LINK_DYNAMIC |
NDB ツールを ndbclient に動的にリンクさせます | 8.0.22-ndb-8.0.22 | ||
ODBC_INCLUDES |
ODBC インクルードディレクトリ | |||
ODBC_LIB_DIR |
ODBC ライブラリディレクトリ | |||
OPTIMIZER_TRACE |
オプティマイザのトレースをサポートするかどうか | |||
REPRODUCIBLE_BUILD |
ビルドの場所と時間に関係なくビルド結果を作成するには、特に注意してください | |||
SYSCONFDIR |
オプションファイルディレクトリ | |||
SYSTEMD_PID_DIR |
systemd 下の PID ファイルのディレクトリ | /var/run/mysqld |
||
SYSTEMD_SERVICE_NAME |
systemd の下の MySQL サービスの名前 | mysqld |
||
TMPDIR |
tmpdir のデフォルト値 | |||
USE_LD_GOLD |
GNU ゴールドリンカーを使用するかどうか | ON |
||
USE_LD_LLD |
llvm lld リンカーを使用するかどうか | ON |
8.0.16 | |
WIN_DEBUG_NO_INLINE |
関数インライン化を無効にするかどうか | OFF |
||
WITHOUT_xxx_STORAGE_ENGINE |
ストレージエンジン xxx をビルドから除外 | |||
WITH_ANT |
GCS Java ラッパーを構築するための Ant へのパス | |||
WITH_ASAN |
AddressSanitizer 有効 | OFF |
||
WITH_ASAN_SCOPE |
AddressSanitizer -fsanitize-address-use-after-scope Clang フラグの有効化 | OFF |
||
WITH_AUTHENTICATION_LDAP |
LDAP 認証プラグインを構築できない場合にエラーを報告するかどうか | OFF |
||
WITH_AUTHENTICATION_PAM |
PAM 認証プラグインのビルド | OFF |
||
WITH_AWS_SDK |
Amazon Web Services ソフトウェア開発キットの場所 | |||
WITH_BOOST |
Boost ライブラリソースの場所 | |||
WITH_CLIENT_PROTOCOL_TRACING |
クライアント側プロトコルトレースフレームワークのビルド | ON |
||
WITH_CURL |
curl ライブラリの場所 | |||
WITH_DEBUG |
デバッグサポートをインクルードするかどうか | OFF |
||
WITH_DEFAULT_COMPILER_OPTIONS |
デフォルトのコンパイラオプションを使用するかどうか | ON |
||
WITH_DEFAULT_FEATURE_SET |
デフォルトの機能セットを使用するかどうか | ON |
8.0.22 | |
WITH_EDITLINE |
どの libedit/editline ライブラリを使用するか | bundled |
||
WITH_GMOCK |
googlemock 分布へのパス | |||
WITH_ICU |
ICU サポートのタイプ | bundled |
||
WITH_INNODB_EXTRA_DEBUG |
InnoDB の追加のデバッグサポートをインクルードするかどうか。 | OFF |
||
WITH_INNODB_MEMCACHED |
memcached 共有ライブラリを生成するかどうか。 | OFF |
||
WITH_JEMALLOC |
-ljemalloc とリンクするかどうか | OFF |
8.0.16 | |
WITH_KEYRING_TEST |
キーリングテストプログラムの作成 | OFF |
||
WITH_LIBEVENT |
どの libevent ライブラリを使用するか | bundled |
||
WITH_LIBWRAP |
libwrap (TCP ラッパー) サポートをインクルードするかどうか | OFF |
||
WITH_LOCK_ORDER |
LOCK_ORDER ツールを有効にするかどうか | OFF |
8.0.17 | |
WITH_LSAN |
AddressSanitizer なしで LeakSanitizer を実行するかどうか | OFF |
8.0.16 | |
WITH_LTO |
リンク時オプティマイザの有効化 | OFF |
8.0.13 | |
WITH_LZ4 |
LZ4 ライブラリサポートのタイプ | bundled |
||
WITH_LZMA |
LZMA ライブラリサポートのタイプ | bundled |
8.0.16 | |
WITH_MECAB |
MeCab のコンパイル | |||
WITH_MSAN |
MemorySanitizer の有効化 | OFF |
||
WITH_MSCRT_DEBUG |
Visual Studio CRT メモリーリークのトレースを有効化 | OFF |
||
WITH_MYSQLX |
X プロトコルを無効にするかどうか | ON |
||
WITH_NUMA |
NUMA メモリー割当てポリシーの設定 | |||
WITH_PROTOBUF |
使用するプロトコルバッファパッケージ | bundled |
||
WITH_RAPID |
迅速な開発サイクルプラグインを構築するかどうか | ON |
||
WITH_RAPIDJSON |
RapidJSON サポートのタイプ | bundled |
8.0.13 | |
WITH_RE2 |
RE2 ライブラリサポートのタイプ | bundled |
8.0.18 | |
WITH_ROUTER |
MySQL Router を構築するかどうか | ON |
8.0.16 | |
WITH_SSL |
SSL サポートのタイプ | system |
||
WITH_SYSTEMD |
systemd サポートファイルのインストールを有効にします | OFF |
||
WITH_SYSTEMD_DEBUG |
追加の systemd デバッグ情報の有効化 | OFF |
8.0.22 | |
WITH_SYSTEM_LIBS |
明示的に設定されていないライブラリオプションのシステム値の設定 | OFF |
||
WITH_TCMALLOC |
-ltcmalloc とリンクするかどうか | OFF |
8.0.22 | |
WITH_TEST_TRACE_PLUGIN |
テスト側プロトコルトレースプラグインのビルド | OFF |
||
WITH_TSAN |
ThreadSanitizer の有効化 | OFF |
||
WITH_UBSAN |
未定義動作のサニタイザの有効化 | OFF |
||
WITH_UNIT_TESTS |
ユニットテストを使用した MySQL のコンパイル | ON |
||
WITH_UNIXODBC |
unixODBC サポートの有効化 | OFF |
||
WITH_VALGRIND |
Valgrind ヘッダーファイルをコンパイルするかどうか | OFF |
||
WITH_ZLIB |
zlib サポートのタイプ | bundled |
||
WITH_ZSTD |
zstd サポートのタイプ | bundled |
8.0.18 | |
WITH_xxx_STORAGE_ENGINE |
ストレージエンジン xxx をサーバーに静的にコンパイル |
-
このオプションは、オラクルが公式な MySQL リリースのバイナリ配布を生成するために使用するのと同じビルドオプションでソース配布を構成します。
-
-DBUNDLE_RUNTIME_LIBRARIES=boolランタイムライブラリを Windows 用のサーバー MSI および Zip パッケージにバンドルするかどうか。
-
生成するビルドのタイプ
RelWithDebInfo: 最適化を有効にし、デバッグ情報を生成します。 これはデフォルトの MySQL ビルドタイプです。Release: 最適化を有効にしますが、ビルドサイズを減らすためにデバッグ情報を省略します。 このビルドタイプは、MySQL 8.0.13 で追加されました。Debug: 最適化を無効にし、デバッグ情報を生成します。 このビルドタイプは、WITH_DEBUGオプションが有効な場合も使用されます。 つまり、-DWITH_DEBUG=1は-DCMAKE_BUILD_TYPE=Debugと同じ効果を持ちます。
-
-DCPACK_MONOLITHIC_INSTALL=boolこのオプションは、make package 操作が複数のインストールパッケージファイルを作成するか、単独のファイルを作成するかに影響します。 無効の場合、この操作は複数のインストールパッケージファイルを作成します。これは完全な MySQL インストールのサブセットのみをインストールする場合に便利です。 有効の場合、すべてをインストールするための単独のファイルを作成します。
-
ソース内ビルドを強制するかどうかを定義します。 アウトオブソースビルドでは同じソースからの複数のビルドが許可されるため、ビルドディレクトリを削除することでクリーンアップを迅速に実行できます。 ソース内ビルドを強制するには、
-DFORCE_INSOURCE_BUILD=ONを使用して CMake を起動します。
CMAKE_INSTALL_PREFIX オプションは、ベースインストールディレクトリを示します。 コンポーネントの場所を示す、INSTALL_ という形式の名前を持つその他のオプションは、プリフィクスに相対的なものとして解釈され、その値は相対パス名です。 それらの値はプリフィクスを含みません。
xxx
-
-DCMAKE_INSTALL_PREFIX=dir_nameインストールのベースディレクトリ。
この値は、サーバー起動時に
--basedirオプションで設定できます。 -
ユーザープログラムをインストールする場所。
-
ドキュメントをインストールする場所。
-
-DINSTALL_DOCREADMEDIR=dir_nameREADMEファイルをインストールする場所。 -
ヘッダーファイルをインストールする場所。
-
Info ファイルをインストールする場所。
-
事前定義インストールレイアウトを選択します。
STANDALONE:.tar.gzおよび.zipパッケージで使用されるのと同じレイアウト。 これはデフォルトです。RPM: RPM パッケージと同様のレイアウト。SVR4: Solaris パッケージレイアウト。DEB: DEB パッケージレイアウト (実験的)。
事前定義のレイアウトを選択できますが、ほかのオプションを指定することによって、個々のコンポーネントのインストール場所を変更できます。 例:
cmake . -DINSTALL_LAYOUT=SVR4 -DMYSQL_DATADIR=/var/mysql/dataINSTALL_LAYOUTの値によって、secure_file_priv、keyring_encrypted_file_dataおよびkeyring_file_dataシステム変数のデフォルト値が決まります。 セクション5.1.8「サーバーシステム変数」 および セクション6.4.4.13「キーリングシステム変数」 のこれらの変数の説明を参照してください。 -
ライブラリファイルをインストールする場所。
-
マニュアルページをインストールする場所。
-
-DINSTALL_MYSQLKEYRINGDIR=dir_pathkeyring_fileプラグインデータファイルの場所として使用するデフォルトのディレクトリ。 デフォルト値はプラットフォーム固有で、INSTALL_LAYOUTCMake オプションの値によって異なります。セクション5.1.8「サーバーシステム変数」 のkeyring_file_dataシステム変数の説明を参照してください。 -
-DINSTALL_MYSQLSHAREDIR=dir_name共有データファイルをインストールする場所。
-
-DINSTALL_MYSQLTESTDIR=dir_namemysql-testディレクトリをインストールする場所。 このディレクトリのインストールを抑制するには、オプションを空の値 (-DINSTALL_MYSQLTESTDIR=) に明示的に設定します。 -
-DINSTALL_PKGCONFIGDIR=dir_namepkg-config で使用する
mysqlclient.pcファイルをインストールするディレクトリ。INSTALL_LIBDIRが/mysqlで終わっていないかぎり、デフォルト値はINSTALL_LIBDIR/pkgconfigです。この場合は、最初に削除されます。 -
プラグインディレクトリの場所。
この値は、サーバー起動時に
--plugin_dirオプションで設定できます。 -
-DINSTALL_PRIV_LIBDIR=dir_name動的ライブラリディレクトリの場所。
デフォルトの場所: RPM =
/usr/lib64/mysql/private/、DEB =/usr/lib/mysql/private/および TAR =lib/private/。このオプションは MySQL 8.0.18 で追加されました。
Protobuf 用: これはプライベートな場所であるため、ローダー (Linux 上の ld-linux.so など) はヘルプなしで
libprotobuf.soファイルを見つけることができない場合があります。 ローダーをガイドするために、値 $ORIGIN/../$INSTALL_PRIV_LIBDIR を持つRPATHが mysqld および mysqlxtest に追加されます。 これはほとんどの場合に機能しますが、Resource Group 機能を使用する場合、mysqld は setsuid であり、ローダーは$ORIGINを含むRPATHを無視します。 これを解決するには、ターゲットの宛先が既知であるため、ディレクトリへの明示的なフルパスが mysqld の DEB および RPM バリアントに設定されます。 tarball インストールでは、patchelf などのツールを使用した mysqld のパッチ適用が必要です。 -
mysqld サーバーをインストールする場所。
-
-DINSTALL_SECURE_FILE_PRIVDIR=dir_namesecure_file_privシステム変数のデフォルト値。 デフォルト値はプラットフォーム固有で、INSTALL_LAYOUTCMake オプションの値によって異なります。セクション5.1.8「サーバーシステム変数」 のsecure_file_privシステム変数の説明を参照してください。 -
aclocal/mysql.m4をインストールする場所。 -
-DINSTALL_STATIC_LIBRARIES=bool静的ライブラリをインストールするかどうか。 デフォルトは
ONです。OFFに設定されている場合、これらのライブラリはインストールされません:libmysqlclient.a、libmysqlservices.a。 -
-DINSTALL_SUPPORTFILESDIR=dir_name追加のサポートファイルをインストールする場所。
-
mysqld バイナリ内のシンボルの順序をランダム化するかどうか。 デフォルトは
OFFです。 このオプションは、デバッグ目的でのみ有効にしてください。 -
LINK_RANDOMIZEオプションのシード値。 値は文字列です。 デフォルトは、任意の選択肢であるmysqlです。 -
MySQL データディレクトリの場所。
この値は、サーバー起動時に
--datadirオプションで設定できます。 -
ODBC インクルードディレクトリの場所。Connector/ODBC の構成中に使用されることがあります。
-
ODBC ライブラリディレクトリの場所。Connector/ODBC の構成中に使用されることがあります。
-
デフォルトの
my.cnfオプションファイルディレクトリ。この場所はサーバー起動時にはセットできませんが、
--defaults-file=オプションを使用して、指定されたオプションファイルでサーバーを起動できます。ここで、file_namefile_nameはファイルへのフルパス名です。 -
systemd によって MySQL が管理されている場合に PID ファイルを作成するディレクトリの名前。 デフォルトは
/var/run/mysqldです。これは、INSTALL_LAYOUTの値に従って暗黙的に変更される場合があります。WITH_SYSTEMDが有効になっていないかぎり、このオプションは無視されます。 -
MySQL が systemd によって管理されている場合に使用する MySQL サービスの名前。 デフォルトは
mysqldです。これは、INSTALL_LAYOUTの値に従って暗黙的に変更される場合があります。WITH_SYSTEMDが有効になっていないかぎり、このオプションは無視されます。 -
tmpdirシステム変数に使用されるデフォルトの場所。 指定しない場合は、値はデフォルトでP_tmpdirin<stdio.h>になります。
ストレージエンジンはプラグインとしてビルドされます。 プラグインは、静的モジュール (サーバー内にコンパイル) または動的モジュール (使用する前に、INSTALL PLUGIN ステートメントまたは --plugin-load オプションを使用してサーバーにインストールする必要のあるダイナミックライブラリとしてビルド) としてビルドできます。 一部のプラグインは、静的または動的ビルドをサポートしない場合があります。
InnoDB, MyISAM, MERGE, MEMORY および CSV エンジンは必須 (常にサーバーにコンパイルされる) であり、明示的にインストールする必要はありません。
ストレージエンジンをサーバー内に静的にコンパイルするには、-DWITH_ を使用します。 使用可能な engine_STORAGE_ENGINE=1engine 値には、ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED、NDB または NDBCLUSTER (NDB サポート) があります。 例:
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
パフォーマンススキーマサポートなしでコンパイルすることはできません。 特定のタイプのインストゥルメンテーションなしでコンパイルする場合は、次の CMake オプションを使用して実行できます:
DISABLE_PSI_COND
DISABLE_PSI_DATA_LOCK
DISABLE_PSI_ERROR
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
たとえば、mutex インストゥルメンテーションなしでコンパイルするには、-DDISABLE_PSI_MUTEX=1 オプションを使用して MySQL を構成します。
ストレージエンジンをビルドから除外するには、-DWITH_ を使用します。 例:
engine_STORAGE_ENGINE=0
-DWITH_ARCHIVE_STORAGE_ENGINE=0
-DWITH_EXAMPLE_STORAGE_ENGINE=0
-DWITH_FEDERATED_STORAGE_ENGINE=0
-DWITHOUT_ を使用して構築からストレージエンジンを除外することもできます (ただし、engine_STORAGE_ENGINE=1-DWITH_ をお勧めします)。 例:
engine_STORAGE_ENGINE=0
-DWITHOUT_ARCHIVE_STORAGE_ENGINE=1
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
あるストレージエンジンに対して -DWITH_ も engine_STORAGE_ENGINE-DWITHOUT_ も指定されていない場合、そのエンジンは共有モジュールとしてビルドされるか、あるいは共有モジュールとしてビルドできない場合は除外されます。
engine_STORAGE_ENGINE
-
このオプションは、バイナリでの
.gdb_indexセクションの生成を有効にするかどうかを決定します。これにより、デバッガへのロードが高速になります。 このオプションはデフォルトで無効になっています。lld リンカーが使用され、lld または GNU gold 以外のリンカーが使用されている場合は無効になります。このオプションは MySQL 8.0.18 で追加されました。
-
コンパイル環境に関する説明コメント。 MySQL 8.0.14 では、mysqld は
COMPILATION_COMMENT_SERVERを使用します。 他のプログラムは引き続きCOMPILATION_COMMENTを使用します。 -
-DCOMPRESS_DEBUG_SECTIONS=boolバイナリ実行可能ファイルのデバッグセクションを圧縮するかどうか (Linux のみ)。 実行可能デバッグセクションを圧縮すると、構築プロセス中に余分な CPU 時間がかかるため、領域を節約できます。
デフォルトは
OFFです。 このオプションが明示的に設定されていないが、COMPRESS_DEBUG_SECTIONS環境変数が設定されている場合、このオプションはその変数から値を取得します。このオプションは MySQL 8.0.22 で追加されました。
-
-DCOMPILATION_COMMENT_SERVER=stringmysqld で使用するコンパイル環境に関する説明コメント (
version_commentシステム変数の設定など)。 このオプションは MySQL 8.0.14 で追加されました。 8.0.14 より前では、サーバーはCOMPILATION_COMMENTを使用します。 -
-DDEFAULT_CHARSET=charset_nameサーバーの文字セット。 デフォルトでは、MySQL は
utf8mb4文字セットを使用します。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 は
utf8mb4_0900_ai_ciを使用します。 各文字セットにどの照合順序を使用するかを決めるにはSHOW COLLATIONステートメントを使用します。この値は、サーバー起動時に
--collation_serverオプションで設定できます。 -
パフォーマンススキーマ条件インストゥルメンテーションを除外するかどうか。 デフォルトは
OFF(include) です。 -
パフォーマンススキーマファイルインストゥルメンテーションを除外するかどうか。 デフォルトは
OFF(include) です。 -
パフォーマンススキーマアイドルインストゥルメンテーションを除外するかどうか。 デフォルトは
OFF(include) です。 -
パフォーマンススキーマメモリーインストゥルメンテーションを除外するかどうか。 デフォルトは
OFF(include) です。 -
パフォーマンススキーマメタデータの計測を除外するかどうか。 デフォルトは
OFF(include) です。 -
パフォーマンススキーマミューテックスのインストゥルメンテーションを除外するかどうか。 デフォルトは
OFF(include) です。 -
パフォーマンススキーマ rwlock インストゥルメンテーションを除外するかどうか。 デフォルトは
OFF(include) です。 -
パフォーマンススキーマソケットインストゥルメンテーションを除外するかどうか。 デフォルトは
OFF(include) です。 -
パフォーマンススキーマストアドプログラムインストゥルメンテーションを除外するかどうか。 デフォルトは
OFF(include) です。 -
パフォーマンススキーマステージインストゥルメンテーションを除外するかどうか。 デフォルトは
OFF(include) です。 -
パフォーマンススキーマステートメントインストゥルメンテーションを除外するかどうか。 デフォルトは
OFF(include) です。 -
-DDISABLE_PSI_STATEMENT_DIGEST=boolパフォーマンススキーマ statement_digest インストゥルメンテーションを除外するかどうか。 デフォルトは
OFF(include) です。 -
「パフォーマンススキーマ」テーブルインストゥルメンテーションを除外するかどうか。 デフォルトは
OFF(include) です。 -
ビルド共有ライブラリを無効にし、位置依存コードをコンパイルするかどうか。 デフォルトは
OFF(位置独立コードのコンパイル) です。このオプションは未使用であり、MySQL 8.0.18 で削除されました。
-
パフォーマンススキーマプリペアドステートメントのインスタンスインストゥルメンテーションを除外します。 デフォルトは
OFF(include) です。 -
パフォーマンススキーマスレッドインストゥルメンテーションを除外します。 デフォルトは
OFF(include) です。ほかのインストゥルメンテーションはスレッドに依存しているため、インストゥルメンテーションなしで構築する場合にのみスレッドを無効にします。
-
-DDISABLE_PSI_TRANSACTION=boolパフォーマンススキーマのトランザクションインストゥルメンテーションを除外します。 デフォルトは
OFF(include) です。 -
パフォーマンススキーマデータロックインストゥルメンテーションを除外します。 デフォルトは
OFF(include) です。 -
パフォーマンススキーマサーバーエラーの計測を除外します。 デフォルトは
OFF(include) です。 -
Boost ライブラリをダウンロードするかどうか デフォルトは
OFFです。Boost の使用方法の詳細は、
WITH_BOOSTオプションを参照してください。 -
-DDOWNLOAD_BOOST_TIMEOUT=secondsBoost ライブラリをダウンロードするためのタイムアウト (秒)。 デフォルトは 600 秒です。
Boost の使用方法の詳細は、
WITH_BOOSTオプションを参照してください。 -
オプションファイルをダウンロードするかどうか。 たとえば、このオプションを有効にすると、CMake は、ユニットテストを実行するためにテストスイートで使用される Google テストディストリビューション、または GCS Java ラッパーの構築に必要な Ant と JUnit をダウンロードします。
-
-DENABLE_EXPERIMENTAL_SYSVARS=bool実験的な
InnoDBシステム変数を有効にするかどうか。 試験的なシステム変数は、MySQL 開発に関与するものを対象としており、開発環境またはテスト環境でのみ使用する必要があり、将来の MySQL リリースでは予告なしに削除される可能性があります。 実験システム変数については、MySQL ソースツリーの/storage/innobase/handler/ha_innodb.ccを参照してください。 試験的なシステム変数は、「PLUGIN_VAR_EXPERIMENTAL」 を検索することで識別できます。 -
gcov サポートをインクルードするかどうか (Linux のみ)。
-
gprofを有効にするかどうか (最適化された Linux ビルドのみ)。 -
このオプションは、MySQL クライアントライブラリのコンパイル済みのデフォルトの
LOCAL機能を制御します。 したがって、明示的な配置を行わないクライアントでは、MySQL ビルド時に指定されたENABLED_LOCAL_INFILE設定に従って、LOCAL機能が無効または有効になります。デフォルトでは、MySQL バイナリディストリビューションのクライアントライブラリは、
ENABLED_LOCAL_INFILEを無効にしてコンパイルされます。 ソースから MySQL をコンパイルする場合は、明示的な配置を行わないクライアントでLOCAL機能をそれぞれ無効にするか有効にするかに基づいて、ENABLED_LOCAL_INFILEを無効または有効にして構成します。ENABLED_LOCAL_INFILEは、クライアント側のLOCAL機能のデフォルトを制御します。 サーバーの場合、local_infileシステム変数はサーバー側のLOCAL機能を制御します。 サーバーがLOAD DATA LOCALステートメントを明示的に拒否または許可するようにするには (構築時または実行時にクライアントプログラムおよびライブラリがどのように構成されているかに関係なく)、それぞれlocal_infileを無効または有効にして mysqld を起動します。local_infileは実行時に設定することもできます。 セクション6.1.6「LOAD DATA LOCAL のセキュリティー上の考慮事項」を参照してください。 -
クエリープロファイリングコードを有効にするかどうか (
SHOW PROFILEおよびSHOW PROFILESステートメントで)。 -
-DFORCE_UNSUPPORTED_COMPILER=boolデフォルトでは、CMake はサポートされているコンパイラの最小バージョンをチェック: Visual Studio 2015 (Windows)、GCC 4.8 または Clang 3.4 (Linux)、Developer Studio 12.5 (Solaris サーバー)、Developer Studio 12.4 または GCC 4.8 (Solaris クライアントライブラリ)、Clang 3.6 (macOS)、Clang 3.4 (FreeBSD)。 このチェックを無効にするには、
-DFORCE_UNSUPPORTED_COMPILER=ONを使用します。 -
プロファイルガイド付き最適化 (PGO) データを生成するかどうか。 このオプションは、GCC を使用した PGO の実験に使用できます。
FPROFILE_GENERATEおよびFPROFILE_USEの使用の詳細は、MySQL ソース配布のcmake/fprofile.cmakeファイルを参照してください。 これらのオプションは GCC 8 および 9 でテストされています。このオプションは MySQL 8.0.19 で追加されました。
-
プロファイルガイド付き最適化 (PGO) データを使用するかどうか。 このオプションは、GCC を使用した PGO の実験に使用できます。
FPROFILE_GENERATEおよびFPROFILE_USEの使用の詳細は、MySQL ソース配布のcmake/fprofile.cmakeファイルを参照してください。 これらのオプションは GCC 8 および 9 でテストされています。FPROFILE_USEを有効にすると、WITH_LTOも有効になります。このオプションは MySQL 8.0.19 で追加されました。
-
Linux で
-DBUILD_CONFIG=mysql_releaseオプションが与えられた場合、デフォルトでlibaioライブラリがリンクされていなければなりません。libaioがない場合、またはインストールしない場合、-DIGNORE_AIO_CHECK=1を指定するとそのチェックを抑制できます。 -
テーブル当たりのインデックスの最大数。 デフォルトは 64 です。 最大値は 255 です。 64 より小さい値は無視され、デフォルトの 64 が使用されます。
-
MySQL 管理者固有の開発環境を有効にするかどうか。 有効の場合、このオプションによりコンパイラの警告はエラーになります。
-
InnoDBで使用される mutex タイプ。 次のようなオプションがあります。event: イベント相互排他ロックを使用します。 これはデフォルト値であり、元のInnoDBmutex 実装です。sys: UNIX システムで POSIX mutex を使用します。 使用可能な場合は、Windows でCRITICAL_SECTIONonjects を使用します。futex: 待機スレッドをスケジュールするには、条件変数のかわりに Linux futex を使用します。
-
X プラグイン が TCP/IP 接続をリスニングするポート番号。 デフォルトは 33060 です。
この値は、サーバーの起動時に
mysqlx_portシステム変数を使用して設定できます。 -
サーバーが X プラグイン ソケット接続をリスニングする Unix ソケットファイルのパス。 これは絶対パス名でなければなりません。 デフォルトは
/tmp/mysqlx.sockです。この値は、サーバーの起動時に
mysqlx_portシステム変数を使用して設定できます。 -
Windows または macOS の場合、プロジェクトファイル名に組み込むプロジェクト名。
-
サーバーが TCP/IP 接続を待機するポート番号。 デフォルトは 3306 です。
この値は、サーバー起動時に
--portオプションで設定できます。 -
サーバーがソケット接続を待機する Unix ソケットファイルのパス。 これは絶対パス名でなければなりません。 デフォルトは
/tmp/mysql.sockです。この値は、サーバー起動時に
--socketオプションで設定できます。 -
オプティマイザのトレースをサポートするかどうか。 「MySQL Internals: Tracing the Optimizer」を参照してください。
-
Linux システム上のビルドの場合、このオプションはビルドの場所と時間に関係なくビルド結果を作成するために特別な注意を払うかどうかを制御します。
このオプションは MySQL 8.0.11 で追加されました。 MySQL 8.0.12 では、
RelWithDebInfoビルド用のONにデフォルト設定されます。 -
GNU gold リンカーが使用可能で明示的に無効になっていない場合、CMake は構築プロセスを GNU gold リンカーにリンクします。 このリンカーの使用を無効にするには、
-DUSE_LD_GOLD=OFFオプションを指定します。 -
構築プロセスが使用可能であり、明示的に無効になっていない場合、CMake はその構築プロセスを Clang 用の llvm lld リンカーにリンクします。 このリンカーの使用を無効にするには、
-DUSE_LD_LLD=OFFオプションを指定します。このオプションは MySQL 8.0.16 で追加されました。
-
Windows で関数のインライン化を無効にするかどうか。 デフォルトは off (インライン化が有効) です。
-
GCS Java ラッパーの構築時に必要な Ant へのパスを設定します。 既存の
WITH_BOOSTCMake オプションと同様の方法で動作します。 Ant tarball またはすでに解凍されたアーカイブが保存されているディレクトリのパスにWITH_ANTを設定します。WITH_ANTが設定されていない場合、または特別な値systemを使用して設定されている場合、ビルドでは$PATHにバイナリ ant が存在すると想定されます。 -
AddressSanitizer をサポートするコンパイラに対して有効にするかどうか。 デフォルトはオフです。
-
use-after-scope 検出に対して AddressSanitizer
-fsanitize-address-use-after-scopeClang フラグを有効にするかどうか。 デフォルトはオフです。 このオプションを使用するには、-DWITH_ASANも有効にする必要があります。 -
-DWITH_AUTHENTICATION_LDAP=boolLDAP 認証プラグインを構築できない場合にエラーを報告するかどうか:
このオプションを無効 (デフォルト) にすると、必要なヘッダーファイルおよびライブラリが見つかった場合に LDAP プラグインが構築されます。 そうでない場合は、CMake によってノートが表示されます。
このオプションが有効な場合、必要なヘッダーファイルおよびライブラリが見つからないと、CMake でエラーが生成され、サーバーのビルドが妨げられます。
-
-DWITH_AUTHENTICATION_PAM=boolこのプラグインを含むソースツリーの PAM 認証プラグインを構築するかどうか。 (セクション6.4.1.5「PAM プラガブル認証」を参照してください。) このオプションが指定され、プラグインをコンパイルできない場合、ビルドは失敗します。
-
Amazon Web Services ソフトウェア開発キットの場所。
-
MySQL をビルドするには Boost ライブラリが必要です。 これらの CMake オプションを使用すると、ライブラリのソースの場所、およびそれを自動的にダウンロードするかどうかを制御できます:
-
-DWITH_BOOST=では、ブーストライブラリディレクトリの場所を指定します。path_nameBOOST_ROOTまたはWITH_BOOST環境変数を設定してブーストの場所を指定することもできます。-DWITH_BOOST=systemも許可され、コンパイルホストの標準の場所に正しいバージョンの Boost がインストールされていることを示します。 この場合、MySQL ソース配布に含まれる任意のバージョンではなく、インストールされている Boost のバージョンが使用されます。 -DDOWNLOAD_BOOST=は、Boost ソースが指定された場所に存在しない場合にダウンロードするかどうかを指定します。 デフォルトはboolOFFです。Boost ライブラリをダウンロードするためのタイムアウトを秒単位で
-DDOWNLOAD_BOOST_TIMEOUT=に設定します。 デフォルトは 600 秒です。seconds
たとえば、通常、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 オプションを指定する必要はありません。 ただし、MySQL に必要な Boost のバージョンが変更され、ローカルにインストールされたバージョンがアップグレードされていない場合は、ビルドの問題が発生している可能性があります。 CMake オプションを使用すると、ビルドが成功します。
指定した場所へのブーストダウンロードを許可する前述の設定では、必要なブーストバージョンが変更された場合、
bldフォルダを削除して再作成し、cmake ステップを再度実行する必要があります。 そうしないと、新しい Boost バージョンがダウンロードされず、コンパイルが失敗する可能性があります。 -
-
-DWITH_CLIENT_PROTOCOL_TRACING=boolクライアントライブラリにクライアント側プロトコルトレースフレームワークをビルドするかどうか。 デフォルトでは、このオプションは有効です。
プロトコルトレースクライアントプラグインの記述の詳細は、Writing Protocol Trace Plugins を参照してください。
WITH_TEST_TRACE_PLUGINオプションも参照してください。 -
curl ライブラリの場所。
curl_typeは、system(システム curl ライブラリを使用) または curl ライブラリへのパス名です。 -
デバッグサポートを含めるかどうか。
デバッグサポートを有効にして MySQL を構成することにより、サーバーを起動するときに
--debug="d,parser_debug"オプションを使用できるようになります。 これにより、SQL ステートメントの処理に使用される Bison パーサーが、パーサートレースをサーバーの標準エラー出力にダンプします。 一般的に、この出力はエラーログに書き込まれます。InnoDBストレージエンジンの同期デバッグチェックはUNIV_DEBUGで定義され、WITH_DEBUGオプションを使用してデバッグサポートをコンパイルするときに使用できます。 デバッグサポートがでコンパイルされている場合は、innodb_sync_debug構成オプションを使用して、InnoDB同期デバッグチェックを有効または無効にできます。WITH_DEBUGを有効にすると、デバッグ同期も有効になります。 この機能はテストとデバッグに使用されます。 コンパイルされる場合、実行時には Debug Sync はデフォルトで無効です。 有効にするには、mysqld を--debug-sync-timeout=オプションを使用して起動します。ここで、NNは 0 より大きいタイムアウト値です。 (デフォルト値は 0 で、Debug Sync を無効にします。)Nはそれぞれの同期ポイントのデフォルトのタイムアウトになります。InnoDBストレージエンジンの同期デバッグチェックは、WITH_DEBUGオプションを使用してデバッグサポートがコンパイルされている場合に使用できます。Debug Sync 機能および同期点の使用方法についての説明は、「MySQL Internals: Test Synchronization」を参照してください。
-
-DWITH_DEFAULT_FEATURE_SET=boolcmake/build_configurations/feature_set.cmakeからのフラグを使用するかどうか。 このオプションは MySQL 8.0.22 で削除されました。 -
どの
libedit/editlineライブラリを使用するか。 許可される値は、bundled(デフォルト) およびsystemです。 -
Google テストベースのユニットテストで使用する googlemock ディストリビューションへのパス。 オプション値は、配布 Zip ファイルへのパスです。 または、
WITH_GMOCK環境変数をパス名に設定します。 CMake が GitHub からディストリビューションをダウンロードできるように、-DENABLE_DOWNLOADS=1を使用することもできます。Google テストベースのユニットテストを使用せずに (
WITH_GMOCKを構成して) MySQL をビルドすると、CMake によってダウンロード方法を示すメッセージが表示されます。 -
-DWITH_ICU={icu_type|path_name}MySQL では、International Components for Unicode (ICU) を使用して正規表現操作をサポートしています。
WITH_ICUオプションは、含める ICU サポートのタイプまたは使用する ICU インストールのパス名を示します。-
icu_typeは、次のいずれかの値です:bundled: 配布にバンドルされている ICU ライブラリを使用します。 これはデフォルトであり、Windows でサポートされている唯一のオプションです。system: システム ICU ライブラリを使用します。
path_nameは、使用する ICU インストールのパス名です。 これは、CMake がシステムにインストールされている古いバージョンまたは正しくない ICU バージョンを検出して使用するのを防ぐことができるため、systemのicu_type値を使用するよりも望ましい場合があります。 (同じことを可能にする別の方法は、WITH_ICUをsystemに設定し、CMAKE_PREFIX_PATHオプションをpath_nameに設定することです。)
-
-
-DWITH_INNODB_EXTRA_DEBUG=bool追加の InnoDB デバッグサポートを含めるかどうか。
WITH_INNODB_EXTRA_DEBUGを有効にすると、追加の InnoDB デバッグチェックが有効になります。 このオプションは、WITH_DEBUGが有効な場合にのみ有効にできます。 -
memcached 共有ライブラリ (
libmemcached.soおよびinnodb_engine.so) を生成するかどうか。 -
-ljemallocとリンクするかどうか。 有効にすると、組込みmalloc(),calloc(),realloc()およびfree()ルーチンは無効になります。 デフォルトはOFFです。WITH_JEMALLOCとWITH_TCMALLOCは相互に排他的です。このオプションは MySQL 8.0.16 で追加されました。
-
keyring_fileプラグインに付属するテストプログラムをビルドするかどうか。 デフォルトはOFFです。 テストファイルのソースコードは、plugin/keyring/keyring-testディレクトリにあります。 -
どの
libeventライブラリを使用するか。 許可される値は、bundled(デフォルト) およびsystemです。 MySQL 8.0.21 より前では、systemを指定すると、システムlibeventライブラリが存在する場合はそれが使用され、それ以外の場合はエラーが発生します。 MySQL 8.0.21 以降では、systemが指定されていて、システムlibeventライブラリが見つからない場合、エラーが発生し、バンドルされているlibeventは使用されません。libeventライブラリは、InnoDBmemcached、X プラグイン、および MySQL Router に必要です。 -
libwrap(TCP ラッパー) サポートを含めるかどうか。 -
LOCK_ORDER ツールを有効にするかどうか。 デフォルトでは、このオプションは無効になっており、サーバービルドにツールは含まれていません。 ツールが有効な場合、LOCK_ORDER ツールは使用可能であり、セクション5.9.3「LOCK_ORDER ツール」 で説明されているように使用できます。
注記WITH_LOCK_ORDERオプションを有効にすると、MySQL ビルドに flex プログラムが必要になります。このオプションは MySQL 8.0.17 で追加されました。
-
AddressSanitizer を使用せずに LeakSanitizer を実行するかどうか。 デフォルトは
OFFです。このオプションは MySQL 8.0.16 で追加されました。
-
コンパイラでサポートされている場合に、リンク時オプティマイザを有効にするかどうか。
FPROFILE_USEが有効でないかぎり、デフォルトはOFFです。このオプションは MySQL 8.0.13 で追加されました。
-
WITH_LZ4は、zlibサポートのソースを示します:bundled: ディストリビューションにバンドルされているlz4ライブラリを使用します。 これはデフォルトです。system: システムlz4ライブラリを使用します。WITH_LZ4がこの値に設定されている場合、lz4_decompress ユーティリティはビルドされません。 この場合、かわりに system lz4 コマンドを使用できます。
-
含める LZMA ライブラリサポートのタイプ。
lzma_typeは、次のいずれかの値です:bundled: ディストリビューションにバンドルされている LZMA ライブラリを使用します。 これはデフォルトです。system: システム LZMA ライブラリを使用します。
このオプションは MySQL 8.0.16 で削除されました。
-
-DWITH_MECAB={disabled|system|path_name}このオプションを使用して、MeCab パーサーをコンパイルします。 MeCab をデフォルトのインストールディレクトリにインストールした場合は、
-DWITH_MECAB=systemを設定します。systemオプションは、ネイティブパッケージ管理ユーティリティを使用してソースまたはバイナリから実行される MeCab インストールに適用されます。 MeCab をカスタムインストールディレクトリにインストールした場合は、MeCab インストールへのパスを指定します。 たとえば、-DWITH_MECAB=/opt/mecabです。systemオプションが機能しない場合は、すべての場合に MeCab インストールパスを指定する必要があります。関連情報については、セクション12.10.9「MeCab フルテキストパーサープラグイン」を参照してください。
-
MemorySanitizer をサポートするコンパイラに対して有効にするかどうか。 デフォルトはオフです。
このオプションを有効にするには、MySQL にリンクされているすべてのライブラリもオプションを有効にしてコンパイルされている必要があります。
-
Visual Studio CRT メモリーリークトレースを有効にするかどうか。 デフォルトは
OFFです。 -
X プラグイン のサポート付きでビルドするかどうか。 デフォルトの
ON。 第20章「ドキュメントストアとしての MySQL の使用」を参照してください。 -
NUMA メモリー割当てポリシーを明示的に設定します。 CMake では、現在のプラットフォームに
NUMAサポートがあるかどうかに基づいて、デフォルトのWITH_NUMA値が設定されます。 NUMA がサポートされていないプラットフォームでは、CMake は次のように動作します:NUMA オプションなし (通常の場合) では、CMake は正常に続行され、この警告のみが生成されます: NUMA ライブラリがないか、必要なバージョンがありません
-DWITH_NUMA=ONでは、CMake はこのエラーで異常終了: NUMA ライブラリがないか、必要なバージョンがありません
-
使用するプロトコルバッファパッケージ。
protobuf_typeは、次のいずれかの値です:bundled: 配布にバンドルされているパッケージを使用します。 これはデフォルトです。 オプションで、INSTALL_PRIV_LIBDIRを使用して動的 Protobuf ライブラリディレクトリを変更します。system: システムにインストールされているパッケージを使用します。
その他の値は無視され、
bundledにフォールバックされます。 -
迅速な開発サイクルプラグインを構築するかどうか。 有効にすると、これらのプラグインを含むビルドツリーに
rapidディレクトリが作成されます。 無効にすると、ビルドツリーにrapidディレクトリは作成されません。rapidディレクトリがソースツリーから削除されないかぎり、デフォルトはONです。この場合、デフォルトはOFFになります。 -
-DWITH_RAPIDJSON=rapidjson_type含める RapidJSON ライブラリサポートのタイプ。
rapidjson_typeは、次のいずれかの値です:bundled: ディストリビューションにバンドルされている RapidJSON ライブラリを使用します。 これはデフォルトです。system: システム RapidJSON ライブラリを使用します。 バージョン 1.1.0 以上が必要です。
このオプションは MySQL 8.0.13 で追加されました。
-
含める RE2 ライブラリサポートのタイプ。
re2_typeは、次のいずれかの値です:bundled: ディストリビューションにバンドルされている RE2 ライブラリを使用します。 これはデフォルトです。system: システム RE2 ライブラリを使用します。
MySQL 8.0.18 の時点で、MySQL は RE2 ライブラリを使用しなくなり、このオプションは削除されました。
-
MySQL Router をビルドするかどうか。 デフォルトは
ONです。このオプションは MySQL 8.0.16 で追加されました。
-
-DWITH_SSL={|ssl_typepath_name}暗号化された接続、乱数生成のエントロピ、およびその他の暗号化関連の操作をサポートするには、SSL ライブラリを使用して MySQL を構築する必要があります。 このオプションは、使用する SSL ライブラリを指定します。
-
ssl_typeには、次の値のいずれかを指定できます。-
system: システム OpenSSL ライブラリを使用します。 これはデフォルトです。macOS および Windows では、
systemを使用して、path_nameを使用して CMake が起動されたときに手動でインストールされた OpenSSL ライブラリを指しているかのように構築するように MySQL を構成します。 これは、システム SSL ライブラリがないためです。 macOS では、systemで検出できるように、brew install openssl は/usr/local/opt/opensslにインストールされます。 Windows では、%ProgramFiles%/OpenSSL、%ProgramFiles%/OpenSSL-Win32、%ProgramFiles%/OpenSSL-Win64、C:/OpenSSL、C:/OpenSSL-Win32 および C:/OpenSSL-Win64 がチェックされます。 yes: これはsystemのシノニムです。
-
path_nameは、使用する OpenSSL インストールのパス名です。 これは、CMake がシステムにインストールされている古いバージョンまたは正しくない OpenSSL バージョンを検出して使用するのを防ぐことができるため、systemのssl_type値を使用するよりも望ましい場合があります。 (同じことを可能にする別の方法は、WITH_SSLをsystemに設定し、CMAKE_PREFIX_PATHオプションをpath_nameに設定することです。)
SSL ライブラリの構成の詳細は、を参照してください セクション2.9.6「SSL ライブラリサポートの構成」.
-
-
systemd サポートファイルのインストールを有効にするかどうか。 デフォルトでは、このオプションは無効です。 有効にすると、systemd サポートファイルがインストールされ、mysqld_safe や System V 初期化スクリプトなどのスクリプトはインストールされません。 systemd を使用できないプラットフォームでは、
WITH_SYSTEMDを有効にすると、CMake からエラーが発生します。systemd の使用の詳細は、セクション2.5.9「systemd を使用した MySQL Server の管理」 を参照してください。 このセクションでは、
[mysqld_safe]オプショングループで以前に指定されたオプションの指定についても説明します。 systemd の使用時に mysqld_safe はインストールされないため、このようなオプションは別の方法で指定する必要があります。 -
このオプションは、明示的に設定されていない次の CMake オプションのいずれかの
system値を設定する「アンブレラ」オプションとして機能:WITH_CURL,WITH_EDITLINE,WITH_ICU,WITH_LIBEVENT,WITH_LZ4,WITH_LZMA,WITH_PROTOBUF,WITH_RE2,WITH_SSL,WITH_ZLIB,WITH_ZSTD。 -
systemd を使用して MySQL を実行するプラットフォームについて、追加の systemd デバッグ情報を生成するかどうか。 デフォルトは
OFFです。このオプションは MySQL 8.0.22 で追加されました。
-
-ltcmallocとリンクするかどうか。 有効にすると、組込みmalloc(),calloc(),realloc()およびfree()ルーチンは無効になります。 デフォルトはOFFです。WITH_TCMALLOCとWITH_JEMALLOCは相互に排他的です。このオプションは MySQL 8.0.22 で追加されました。
-
テストプロトコルトレースクライアントプラグインをビルドするかどうか (Using the Test Protocol Trace Plugin を参照)。 デフォルトでは、このオプションは無効です。
WITH_CLIENT_PROTOCOL_TRACINGオプションが有効になっていないかぎり、このオプションを有効にしても効果はありません。 MySQL が両方のオプションを有効にして構成されている場合、libmysqlclientクライアントライブラリはテストプロトコルトレースプラグインが組み込まれた状態で構築され、すべての標準 MySQL クライアントがプラグインをロードします。 ただし、テストプラグインが有効になっていても、デフォルトでは何の効果もありません。 プラグインの制御は、環境変数を使用して行います。Using the Test Protocol Trace Plugin を参照してください。注記独自のプロトコルトレースプラグインを使用する場合は、
WITH_TEST_TRACE_PLUGINオプションを有効にしないでください。このようなプラグインは一度に 1 つのみロードでき、別のプラグインをロードしようとするとエラーが発生するためです。 テストプロトコルトレースプラグインを有効にして MySQL をすでに構築し、その動作を確認している場合は、独自のプラグインを使用する前に MySQL を再構築する必要があります。トレースプラグインの書込みの詳細は、Writing Protocol Trace Plugins を参照してください。
-
ThreadSanitizer をサポートするコンパイラに対して有効にするかどうか。 デフォルトはオフです。
-
未定義の動作サニタイザをサポートするコンパイラに対して、サニタイザを有効にするかどうか。 デフォルトはオフです。
-
有効な場合は、ユニットテストを使用して MySQL をコンパイルします。 サーバーがコンパイルされていない場合を除き、デフォルトは ON です。
-
Connector/ODBC に関して、unixODBC サポートを有効にします。
-
Valgrind ヘッダーファイルをコンパイルするかどうか。これにより、Valgrind API が MySQL コードに公開されます。 デフォルトは
OFFです。Valgrind 対応のデバッグビルドを生成するには、
-DWITH_VALGRIND=1は通常-DWITH_DEBUG=1と組み合わされます。 Building Debug Configurations を参照してください。 -
一部の機能では、サーバーが
COMPRESS()およびUNCOMPRESS()関数などの圧縮ライブラリサポートでビルドされていること、およびクライアント/サーバープロトコルの圧縮を必要とします。WITH_ZLIBはzlibサポートのソースを示します。bundled: 配布にバンドルされたzlibライブラリを使用します。 これはデフォルトです。system: システムのzlibライブラリを使用します。WITH_ZLIBがこの値に設定されている場合、zlib_decompress ユーティリティはビルドされません。 この場合、かわりに system openssl zlib コマンドを使用できます。
-
zstdアルゴリズムを使用した接続圧縮 (セクション4.2.8「接続圧縮制御」 を参照) では、zstdライブラリのサポートを使用してサーバーを構築する必要があります。WITH_ZSTDは、zstdサポートのソースを示します:bundled: ディストリビューションにバンドルされているzstdライブラリを使用します。 これはデフォルトです。system: システムzstdライブラリを使用します。
このオプションは MySQL 8.0.18 で追加されました。
独自の C および C++ コンパイラフラグを指定するには、最適化に影響しないフラグの場合は CMAKE_C_FLAGS および CMAKE_CXX_FLAGS CMake オプションを使用します。
独自のコンパイラフラグを提供する場合、CMAKE_BUILD_TYPE も指定するとよいでしょう。
たとえば、32 ビットリリースビルドを 64 ビット Linux マシンに作成するには次のようにします。
mkdir bld
cd bld
cmake .. -DCMAKE_C_FLAGS=-m32 \
-DCMAKE_CXX_FLAGS=-m32 \
-DCMAKE_BUILD_TYPE=RelWithDebInfo
最適化に影響するフラグ (-O) をセットする場合は、numberCMAKE_C_FLAGS_ および/または build_typeCMAKE_CXX_FLAGS_ オプションをセットする必要があります。ここで、build_typebuild_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"
NDB Cluster サポートを使用して MySQL 8.0 ソースを構築する場合は、次のオプションを使用します。
-
dir_nameによって示されるシステムディレクトリにインストールされている memcached (バージョン 1.6 以降) を使用してビルドを実行します。 ビルドに使用されるこのインストールからのファイルは、memcached バイナリ、ヘッダーファイル、およびライブラリに加えて、memcached_utilitiesライブラリおよびヘッダーファイルengine_testapp.hを含みます。ndbmemcacheを、バンドルの memcached ソースを使用してビルドする場合 (WITH_BUNDLED_MEMCACHEDオプション)、このオプションはセットしないでください。すなわち、デフォルトでバンドルのソースが使用されます。SASL 承認および
dtraceサポートを提供するための追加の CMake オプションは外部ソースから memcached をコンパイルするときに使用できますが、NDB Cluster にバンドルされている memcached ソースではこれらのオプションは現在有効になっていません。 -
-NDB_UTILS_LINK_DYNAMIC={ON|OFF}ndb_drop_table などの NDB ユーティリティーを
ndbclientと静的にリンクするか (OFF)、動的にリンクするか (ON) を制御します。OFF(静的リンク) がデフォルトです。 通常、静的リンクは、LD_LIBRARY_PATHの問題を回避するため、または複数のバージョンのndbclientがインストールされている場合に、これらを構築する場所で使用されます。 このオプションは、Docker イメージを作成することを目的としており、ターゲット環境が正確に制御される可能性があり、イメージサイズを小さくすることが望ましい場合もあります。NDB 8.0.22 に追加されました。
-
-DWITH_BUNDLED_LIBEVENT={ON|OFF}ndbmemcachedサポートを使用して NDB Cluster を構築する場合は、NDB Cluster ソースに含まれているlibeventを使用します。 デフォルトで有効。OFFでは、かわりにシステムlibeventが使用されます。 -
-DWITH_BUNDLED_MEMCACHED={ON|OFF}NDB Cluster ソースツリーに含まれる memcached ソースを構築し、
ndbmemcacheエンジンの構築時に結果の memcached サーバーを使用します。 この場合、make install は memcached バイナリをインストールbinディレクトリに配置し、ndbmemcacheエンジン共有ライブラリファイルndb_engine.soをインストールlibディレクトリに配置します。このオプションはデフォルトで ON です。
-
NDB Cluster Connector for Java を構築するためのクラスパスを設定します。 デフォルトは空です。
-DWITH_NDB_JAVA=OFFを使用する場合、このオプションは無視されます。 -
NDBカーネルのエラーインジェクションを有効化します。 テスト専用です。本番環境のバイナリのビルドに使用することは意図していません。 デフォルトはOFFです。 -
-DWITH_NDBCLUSTER_STORAGE_ENGINE={ON|OFF}これは
WITH_NDBCLUSTERのエイリアスです。 -
mysqld で
NDB(NDBCLUSTER) ストレージエンジンのサポートのビルドおよびリンク。 デフォルトはONです。 -
マルチスレッドデータノード実行可能ファイル ndbmtd を構築します。 デフォルトは
ONです。 -
このオプションを使用して、mysqld ビルド内でデフォルトでバイナリロギングを有効にします。 デフォルトで ON です。
-
NDB Cluster バイナリのデバッグバージョンの構築を有効にします。 デフォルトで OFF です。
-
ClusterJを含む Java サポートを使用した NDB Cluster の構築を有効にします。このオプションはデフォルトで ON です。 NDB Cluster を Java サポート付きでコンパイルしない場合は、CMake の実行時に
-DWITH_NDB_JAVA=OFFを指定して明示的に無効にする必要があります。 そうしないと、Java が検出できない場合にビルドの構成が失敗します。 -
この
portをデフォルトで使用するように構築された NDB Cluster 管理サーバー (ndb_mgmd) を生成します。 このオプションがセットされていない場合、結果の管理サーバーはデフォルトでポート 1186 を使用しようとします。 -
有効の場合、NDB API テストプログラムをインクルードします。 デフォルトは OFF です。
-
-DWITH_PLUGIN_NDBCLUSTER={ON|OFF}WITH_NDBCLUSTERのエイリアス。