CMake プログラムを使用すると、MySQL ソース配布の構成方法を大幅に制御できます。通常これは、CMake コマンド行でオプションを使用して行います。CMake がサポートするオプションの詳細は、トップレベルのソースディレクトリで次のコマンドのいずれかを実行します。
shell> cmake . -LH
shell> ccmake .
特定の環境変数を使用して CMake に影響を与えることもできます。セクション2.12「環境変数」を参照してください。
次の表は、使用可能な CMake
オプションを示しています。デフォルト
カラムで、PREFIX
は CMAKE_INSTALL_PREFIX
オプションの値を意味します。これは、インストールのベースディレクトリを指定します。この値は、一部のインストールサブディレクトリの親の場所として使用されます。
表 2.11 MySQL ソース構成オプションリファレンス (CMake)
形式 | 説明 | デフォルト | 導入 | 削除 |
---|---|---|---|---|
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 |
||
ENABLED_LOCAL_INFILE |
LOAD DATA INFILE に LOCAL を有効にするかどうか | OFF |
||
ENABLED_PROFILING |
クエリープロファイリングコードを有効にするかどうか | ON |
||
ENABLE_DEBUG_SYNC |
Debug Sync サポートを有効にするかどうか | ON |
||
ENABLE_DOWNLOADS |
オプションファイルをダウンロードするかどうか | OFF |
||
ENABLE_DTRACE |
DTrace サポートをインクルードするかどうか | |||
ENABLE_GCOV |
gcov サポートをインクルードするかどうか | 5.6.3 | ||
ENABLE_GPROF |
gprof の有効化 (Linux ビルドのみに最適化) | OFF |
5.6.6 | |
IGNORE_AIO_CHECK |
-DBUILD_CONFIG=mysql_release とともに、libaio チェックを無視する | OFF |
5.6.1 | |
INNODB_PAGE_ATOMIC_REF_COUNT |
アトミックページ参照のカウントを有効または無効にする | ON |
5.6.16 | |
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_MYSQLSHAREDIR |
共有データディレクトリ | PREFIX/share |
||
INSTALL_MYSQLTESTDIR |
mysql-test ディレクトリ | PREFIX/mysql-test |
||
INSTALL_PLUGINDIR |
Plugin ディレクトリ | PREFIX/lib/plugin |
||
INSTALL_SBINDIR |
サーバー実行可能ファイルディレクトリ | PREFIX/bin |
||
INSTALL_SCRIPTDIR |
Scripts ディレクトリ | PREFIX/scripts |
||
INSTALL_SHAREDIR |
aclocal/mysql.m4 インストールディレクトリ | PREFIX/share |
||
INSTALL_SQLBENCHDIR |
sql-bench ディレクトリ | PREFIX |
||
INSTALL_SUPPORTFILESDIR |
その他のサポートファイルディレクトリ | PREFIX/support-files |
||
MEMCACHED_HOME |
memcached へのパス | [none] |
||
MYSQL_DATADIR |
データディレクトリ | |||
MYSQL_MAINTAINER_MODE |
MySQL 管理者固有の開発環境を有効にするかどうか | OFF |
||
MYSQL_PROJECT_NAME |
Windows/OS X プロジェクト名 | 3306 |
5.6.5 | |
MYSQL_TCP_PORT |
TCP/IP ポート番号 | 3306 |
||
MYSQL_UNIX_ADDR |
Unix ソケットファイル | /tmp/mysql.sock |
||
ODBC_INCLUDES |
ODBC インクルードディレクトリ | |||
ODBC_LIB_DIR |
ODBC ライブラリディレクトリ | |||
OPTIMIZER_TRACE |
オプティマイザのトレースをサポートするかどうか | 5.6.3 | ||
SUNPRO_CXX_LIBRARY |
Solaris 10+ のクライアントリンクライブラリ | 5.6.20 | ||
SYSCONFDIR |
オプションファイルディレクトリ | |||
TMPDIR |
tmpdir のデフォルト値 | 5.6.16 | ||
WITHOUT_SERVER |
サーバーをビルドしない | OFF |
||
WITHOUT_xxx_STORAGE_ENGINE |
ストレージエンジン xxx をビルドから除外 | |||
WITH_ASAN |
AddressSanitizer 有効 | OFF |
5.6.15 | |
WITH_BUNDLED_LIBEVENT |
ndbmemcache のビルド時にバンドルされた libevent を使用 | ON |
||
WITH_BUNDLED_MEMCACHED |
ndbmemcache のビルド時にバンドルされた memcached を使用 | ON |
||
WITH_CLASSPATH |
Java 用 MySQL Cluster Connector のビルド時に使用するクラスパス。デフォルトは空の文字列です。 |
|
||
WITH_DEBUG |
デバッグサポートをインクルードするかどうか | OFF |
||
WITH_DEFAULT_COMPILER_OPTIONS |
デフォルトのコンパイラオプションを使用するかどうか | ON |
5.6.6 | |
WITH_DEFAULT_FEATURE_SET |
デフォルトの機能セットを使用するかどうか | ON |
5.6.6 | |
WITH_EDITLINE |
どの libedit/editline ライブラリを使用するか | bundled |
5.6.12 | |
WITH_EMBEDDED_SERVER |
組み込みサーバーをビルドするかどうか | OFF |
||
WITH_EMBEDDED_SHARED_LIBRARY |
共有組み込みサーバーライブラリをビルドするかどうか | OFF |
5.6.17 | |
WITH_ERROR_INSERT |
NDB ストレージエンジンのエラーインジェクションを有効化。本番用のバイナリのビルドには使用しないでください。 | OFF |
||
WITH_EXTRA_CHARSETS |
どの追加文字セットをインクルードするか | all |
||
WITH_INNODB_MEMCACHED |
memcached 共有ライブラリを生成するかどうか。 | OFF |
||
WITH_LIBEDIT |
バンドルされた libedit ライブラリを使用 | ON |
5.6.12 | |
WITH_LIBEVENT |
どの libevent ライブラリを使用するか | bundled |
5.6.6 | |
WITH_LIBWRAP |
libwrap (TCP ラッパー) サポートをインクルードするかどうか | OFF |
||
WITH_NDBCLUSTER_STORAGE_ENGINE |
NDB ストレージエンジンのビルド | ON |
||
WITH_NDBMTD |
マルチスレッドのデータノードをビルド。 | ON |
||
WITH_NDB_BINLOG |
mysqld によるバイナリのロギングをデフォルトで有効化。 | ON |
||
WITH_NDB_DEBUG |
テストまたはトラブルシューティング用のデバッグビルドを生成。 | OFF |
||
WITH_NDB_JAVA |
Java および ClusterJ のビルドのサポートを有効化。デフォルトで有効。MySQL Cluster のみでサポート。 | ON |
||
WITH_NDB_PORT |
このオプションでビルドされた管理サーバーが使用するデフォルトポート。ビルドにこのオプションが使用されなかった場合、管理サーバーのデフォルトポートは 1186 です。 | [none] |
||
WITH_NDB_TEST |
NDB API テストプログラムをインクルード。 | OFF |
||
WITH_READLINE |
バンドルされた readline ライブラリを使用 | OFF |
5.6.5 | |
WITH_SSL |
SSL サポートのタイプ | bundled |
||
WITH_UNIXODBC |
unixODBC サポートの有効化 | OFF |
||
WITH_VALGRIND |
Valgrind ヘッダーファイルをコンパイルするかどうか | OFF |
||
WITH_ZLIB |
zlib サポートのタイプ | system |
||
WITH_xxx_STORAGE_ENGINE |
ストレージエンジン xxx をサーバーに静的にコンパイル |
次のセクションでは、CMake オプションについてより詳しく説明します。
boolean オプションでは、値を 1 または
ON
に指定してオプションを有効にするか、0 または
OFF
に指定して無効にします。
多くのオプションはコンパイル時のデフォルトを構成し、それらはサーバー起動時にオーバーライドできます。たとえば、デフォルトのインストールベースディレクトリ、TCP/IP
ポート番号、および Unix
ソケットファイルを構成する
CMAKE_INSTALL_PREFIX
、MYSQL_TCP_PORT
、および
MYSQL_UNIX_ADDR
の各オプションは、サーバー起動時に
mysqld の
--basedir
、--port
、および
--socket
オプションで変更できます。該当する場合は、構成オプションの説明で対応する
mysqld
スタートアップオプションを示します。
一般オプション
-
このオプションは、オラクルが公式な 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_DOCREADMEDIR=
dir_name
README
ファイルをインストールする場所。 -
ヘッダーファイルをインストールする場所。
-
Info ファイルをインストールする場所。
-
事前定義インストールレイアウトを選択します。
STANDALONE
:.tar.gz
および.zip
パッケージで使用されるのと同じレイアウト。これはデフォルトです。RPM
: RPM パッケージと同様のレイアウト。SVR4
: Solaris パッケージレイアウト。DEB
: DEB パッケージレイアウト (実験的)。
事前定義のレイアウトを選択できますが、ほかのオプションを指定することによって、個々のコンポーネントのインストール場所を変更できます。例:
shell> cmake . -DINSTALL_LAYOUT=SVR4 -DMYSQL_DATADIR=/var/mysql/data
-
ライブラリファイルをインストールする場所。
-
マニュアルページをインストールする場所。
-
-DINSTALL_MYSQLSHAREDIR=
dir_name
共有データファイルをインストールする場所。
-
-DINSTALL_MYSQLTESTDIR=
dir_name
mysql-test
ディレクトリをインストールする場所。MySQL 5.6.12 では、このディレクトリのインストールを抑制するには、オプションを明示的に空の値にセットします (-DINSTALL_MYSQLTESTDIR=
)。 -
プラグインディレクトリの場所。
この値は、サーバー起動時に
--plugin_dir
オプションで設定できます。 -
mysqld サーバーをインストールする場所。
-
mysql_install_db をインストールする場所。
-
aclocal/mysql.m4
をインストールする場所。 -
-DINSTALL_SQLBENCHDIR=
dir_name
sql-bench
ディレクトリをインストールする場所。このディレクトリのインストールを抑制するには、オプションを明示的に空の値にセットします (-DINSTALL_SQLBENCHDIR=
)。 -
-DINSTALL_SUPPORTFILESDIR=
dir_name
追加のサポートファイルをインストールする場所。
-
MySQL データディレクトリの場所。
この値は、サーバー起動時に
--datadir
オプションで設定できます。 -
ODBC インクルードディレクトリの場所。Connector/ODBC の構成中に使用されることがあります。
-
ODBC ライブラリディレクトリの場所。Connector/ODBC の構成中に使用されることがあります。
-
デフォルトの
my.cnf
オプションファイルディレクトリ。この場所はサーバー起動時にはセットできませんが、
--defaults-file=
オプションを使用して、指定されたオプションファイルでサーバーを起動できます。ここで、file_name
file_name
はファイルへのフルパス名です。 -
tmpdir
システム変数に使用されるデフォルトの場所。指定しない場合は、値はデフォルトでP_tmpdir
in<stdio.h>
になります。このオプションは MySQL 5.6.16 で追加されました。
ストレージエンジンオプション
ストレージエンジンはプラグインとしてビルドされます。プラグインは、静的モジュール
(サーバー内にコンパイル) または動的モジュール
(使用する前に、INSTALL
PLUGIN
ステートメントまたは
--plugin-load
オプションを使用してサーバーにインストールする必要のあるダイナミックライブラリとしてビルド)
としてビルドできます。一部のプラグインは、静的または動的ビルドをサポートしない場合があります。
MyISAM
、MERGE
、MEMORY
、および
CSV
エンジンは必須
(必ずサーバー内にコンパイル)
で、明示的にインストールする必要はありません。
ストレージエンジンをサーバー内に静的にコンパイルするには、-DWITH_
を使用します。許可される
engine
_STORAGE_ENGINE=1engine
の値は、ARCHIVE
、BLACKHOLE
、EXAMPLE
、FEDERATED
、INNOBASE
(InnoDB
)、NDB
または NDBCLUSTER
(NDB
)、PARTITION
(パーティション化のサポート)、および
PERFSCHEMA
(Performance Schema) です。例:
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1
WITH_NDBCLUSTER_STORAGE_ENGINE
は、MySQL Cluster を MySQL Cluster
ソースを使用してビルドする場合のみサポートされます。ほかの
MySQL
ソースツリーまたは配布でのクラスタ化のサポートを有効にするために使用することはできません。MySQL
Cluster
ソース配布では、デフォルトで有効です。詳しくは、セクション18.2.2.3「Linux でのソースからの MySQL Cluster のビルド」およびセクション18.2.3.2「Windows でのソースからの MySQL Cluster のコンパイルとインストール」を参照してください。
ストレージエンジンをビルドから除外するには、-DWITHOUT_
を使用します。例:
engine
_STORAGE_ENGINE=1
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1
あるストレージエンジンに対して
-DWITH_
も
engine
_STORAGE_ENGINE-DWITHOUT_
も指定されていない場合、そのエンジンは共有モジュールとしてビルドされるか、あるいは共有モジュールとしてビルドできない場合は除外されます。
engine
_STORAGE_ENGINE
機能オプション
-
コンパイル環境に関する説明コメント。
-
-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
オプションで設定できます。 -
Debug Sync 機能をサーバーにコンパイルするかどうか。この機能はテストとデバッグに使用されます。このオプションはデフォルトで有効ですが、MySQL でデバッグが有効に構成されていない場合は効果はありません。デバッグが有効で、Debug Sync を無効にする場合は、
-DENABLE_DEBUG_SYNC=0
を使用します。コンパイルされる場合、実行時には Debug Sync はデフォルトで無効です。有効にするには、mysqld を
--debug-sync-timeout=
オプションを使用して起動します。ここで、N
N
は 0 より大きいタイムアウト値です。(デフォルト値は 0 で、Debug Sync を無効にします。)N
はそれぞれの同期ポイントのデフォルトのタイムアウトになります。Debug Sync 機能および同期点の使用方法についての説明は、「MySQL Internals: Test Synchronization」を参照してください。
-
オプションファイルをダウンロードするかどうか。たとえば、このオプションを有効にすると CMake は、ユニットテストを実行するためにテストスイートが使用する Google Test 配布をダウンロードします。
-
DTrace プローブのサポートをインクルードするかどうか。DTrace については、セクション5.4「DTrace を使用した mysqld のトレース」を参照してください。
-
gcov サポートをインクルードするかどうか (Linux のみ)。
-
gprof
を有効にするかどうか (最適化された Linux ビルドのみ)。このオプションは MySQL 5.6.6 で追加されました。 -
LOCAL
機能をLOAD DATA INFILE
のクライアントライブラリで有効にするかどうか。このオプションは、クライアント側の
LOCAL
機能を制御しますが、この機能は--local-infile
オプションを使用して、サーバー側でサーバーの起動時に設定できます。セクション6.1.6「LOAD DATA LOCAL のセキュリティーの問題」を参照してください。 -
クエリープロファイリングコードを有効にするかどうか (
SHOW PROFILE
およびSHOW PROFILES
ステートメントで)。 -
Linux で
-DBUILD_CONFIG=mysql_release
オプションが与えられた場合、デフォルトでlibaio
ライブラリがリンクされていなければなりません。libaio
がない場合、またはインストールしない場合、-DIGNORE_AIO_CHECK=1
を指定するとそのチェックを抑制できます。このオプションは MySQL 5.6.1 で追加されました。 -
-DINNODB_PAGE_ATOMIC_REF_COUNT=
bool
アトミックページ参照のカウントを有効にするか無効にするか。バッファープールからページをフェッチおよび解放してページの状態を追跡するのは、負荷が高く複雑な操作です。ページの相互排他ロックを使用してこれらの操作を追跡すると、うまく拡張しません。
INNODB_PAGE_ATOMIC_REF_COUNT=ON
(デフォルト) では、フェッチと解放は可能であればアトミックを使用して追跡されます。アトミックをサポートしないプラットフォームでは、アトミックページ参照のカウントを無効にするようにINNODB_PAGE_ATOMIC_REF_COUNT=OFF
を設定します。アトミックページ参照のカウントが有効の場合 (デフォルト)、サーバーのスタートアップ時に「
[Note] InnoDB: Using atomics to ref count buffer pool pages
」がエラーログに出力されます。アトミックページ参照のカウントが無効の場合、代わりに「[Note] InnoDB: Using mutexes to ref count buffer pool pages
」が出力されます。INNODB_PAGE_ATOMIC_REF_COUNT
は、MySQL Bug #68079 の解決策として導入されました。このオプションは MySQL 5.7.5 では削除されました。アトミックのサポートは、MySQL を MySQL 5.7.5 としてビルドするために必要です。そのためこのオプションは非推奨です。 -
MySQL 管理者固有の開発環境を有効にするかどうか。有効の場合、このオプションによりコンパイラの警告はエラーになります。
-
Windows または OS X では、プロジェクトファイル名に組み込むプロジェクト名。このオプションは MySQL 5.6.5 で追加されました。
-
サーバーが TCP/IP 接続を待機するポート番号。デフォルトは 3306 です。
この値は、サーバー起動時に
--port
オプションで設定できます。 -
サーバーがソケット接続を待機する Unix ソケットファイルのパス。これは絶対パス名でなければなりません。デフォルトは
/tmp/mysql.sock
です。この値は、サーバー起動時に
--socket
オプションで設定できます。 -
オプティマイザのトレースをサポートするかどうか。「MySQL Internals: Tracing the Optimizer」を参照してください。このオプションは MySQL 5.6.3 で追加されました。
-
AddressSanitizer を有効にするかどうか (サポートするコンパイラの場合)。デフォルトはオフです。このオプションは MySQL 5.6.15 で追加されました。
-
デバッグサポートを含めるかどうか。
デバッグサポートを有効にして MySQL を構成することにより、サーバーを起動するときに
--debug="d,parser_debug"
オプションを使用できるようになります。これにより、SQL ステートメントの処理に使用される Bison パーサーが、パーサートレースをサーバーの標準エラー出力にダンプします。一般的に、この出力はエラーログに書き込まれます。 -
-DWITH_DEFAULT_FEATURE_SET=
bool
cmake/build_configurations/feature_set.cmake
からのフラグを使用するかどうか。このオプションは MySQL 5.6.6 で追加されました。 -
どの
libedit
/editline
ライブラリを使用するか。許可される値は、bundled
(デフォルト) およびsystem
です。WITH_EDITLINE
は MySQL 5.6.12 で追加されました。これは、削除されたWITH_LIBEDIT
に代わるものです。 -
libmysqld
組み込みサーバーライブラリをビルドするかどうか。 -
-DWITH_EMBEDDED_SHARED_LIBRARY=
bool
共有
libmysqld
組み込みサーバーライブラリをビルドするかどうか。このオプションは MySQL 5.6.17 で追加されました。 -
どの追加文字セットをインクルードするか。
all
: すべての文字セット。これはデフォルトです。complex
: 複雑な文字セット。none
: 追加の文字セットなし。
-
memcached 共有ライブラリ (
libmemcached.so
およびinnodb_engine.so
) を生成するかどうか。 -
どの
libevent
ライブラリを使用するか。許可される値は、bundled
(デフォルト)、system
、およびyes
です。system
またはyes
を指定した場合、システムlibevent
ライブラリが存在すればそれが使用されます。システムライブラリが見つからない場合は、バンドルのlibevent
ライブラリが使用されます。libevent
ライブラリは、InnoDB
memcached が必要とします。 -
配布にバンドルされている
libedit
ライブラリを使用するかどうか。WITH_LIBEDIT
は、MySQL 5.6.12 で削除されました。代わりにWITH_EDITLINE
を使用します。 -
libwrap
(TCP ラッパー) サポートを含めるかどうか。 -
配布にバンドルされている
readline
ライブラリを使用するかどうか。readline
はバンドルされなくなったため、このオプションは MySQL 5.6.5 で削除されました。 -
含める SSL サポートのタイプ (ある場合) または使用する OpenSSL インストールへのパス名。
-
ssl_type
には、次の値のいずれかを指定できます。no
: SSL サポートなし。これは MySQL 5.6.6 以前のデフォルトです。5.6.6 では、これは許可される値ではなくなりました。デフォルトはbundled
です。yes
: システムの SSL ライブラリが存在すればそれを使用します。そうでない場合は配布にバンドルされたライブラリを使用します。bundled
: 配布にバンドルされた SSL ライブラリを使用します。これは MySQL 5.6.6 のデフォルトです。system
: システムの SSL ライブラリを使用します。
path_name
, MySQL 5.6.7 以降で許可されます。使用する OpenSSL インストールへのパス名です。CMake が、システムにインストールされた古いまたは誤った OpenSSL バージョンを検出して使用するのを防ぐことができるため、system
のssl_type
値を使用するよりもこちらの方が推奨されます。(同じことをするためのもう 1 つの許可される方法は、CMAKE_PREFIX_PATH
オプションをpath_name
にセットすることです。)
SSL サポートの使用の詳細は、セクション6.3.10「セキュアな接続のための SSL の使用」を参照してください。
-
-
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
ライブラリを使用します。これはデフォルトです。
-
MySQL Server なしでビルドするかどうか。デフォルトは
OFF
で、サーバーをビルドします。
コンパイラフラグ
-
C コンパイラのフラグ。
-
C++ コンパイラのフラグ。
-
-DWITH_DEFAULT_COMPILER_OPTIONS=
bool
cmake/build_configurations/compiler_options.cmake
からのフラグを使用するかどうか。このオプションは MySQL 5.6.6 で追加されました。注記すべての最適化フラグは、MySQL ビルドチームによって慎重に選択およびテストされています。オーバーライドすると予期しない結果になることがあります。自己責任において行なってください。
-
-DSUNPRO_CXX_LIBRARY="
"lib_name
Solaris 10 以降で
stlport4
の代わりにlibCstd
へのリンクを可能にします。サーバーは C++98 に依存するため、これはクライアントコードのみに機能します。使用例:cmake -DWITHOUT_SERVER=1 -DSUNPRO_CXX_LIBRARY=Cstd
このオプションは MySQL 5.6.20 で追加されました。
独自の C および C++
コンパイラフラグを指定するには、最適化に影響しないフラグの場合は
CMAKE_C_FLAGS
および
CMAKE_CXX_FLAGS
CMake
オプションを使用します。
独自のコンパイラフラグを提供する場合、CMAKE_BUILD_TYPE
も指定するとよいでしょう。
たとえば、32 ビットリリースビルドを 64 ビット Linux マシンに作成するには次のようにします。
shell> mkdir bld
shell> cd bld
shell> cmake .. -DCMAKE_C_FLAGS=-m32 \
-DCMAKE_CXX_FLAGS=-m32 \
-DCMAKE_BUILD_TYPE=RelWithDebInfo
最適化に影響するフラグ
(-O
)
をセットする場合は、number
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
とデバッグシンボルを使用してコンパイルするには、次のようにします。
shell> cmake .. -DCMAKE_C_FLAGS_RELWITHDEBINFO="-O3 -g" \
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O3 -g"
MySQL Cluster のコンパイルのための CMake オプション
次のオプションは、MySQL Cluster を MySQL Cluster ソースでビルドする場合に使用されます。現在、MySQL 5.6 Server ツリーからのソースを使用する場合は、サポートされていません。
-
path
で示されるシステムディレクトリにインストールされた memcached (バージョン 1.6 以降) を使用してビルドを実行します。ビルドに使用されるこのインストールからのファイルは、memcached バイナリ、ヘッダーファイル、およびライブラリに加えて、memcached_utilities
ライブラリおよびヘッダーファイルengine_testapp.h
を含みます。ndbmemcache
を、バンドルの memcached ソースを使用してビルドする場合 (WITH_BUNDLED_MEMCACHED
オプション)、このオプションはセットしないでください。すなわち、デフォルトでバンドルのソースが使用されます。このオプションは MySQL Cluster NDB 7.2.2 で追加されました。
SASL 承認および
dtrace
サポートの提供など、追加の CMake オプションは、外部ソースから memcached をコンパイルするときに使用可能ですが、これらのオプションは現在、MySQL Cluster にバンドルされる memcached ソースには有効にはなっていません。 -
-DWITH_BUNDLED_LIBEVENT={ON|OFF}
MySQL Cluster を ndbmemcached サポート (MySQL Cluster NDB 7.2.2 以降) でビルドする際には、MySQL Cluster ソースに含まれる
libevent
を使用します。デフォルトで有効。OFF にすると、システムの libevent が代わりに使用されます。 -
-DWITH_BUNDLED_MEMCACHED={ON|OFF}
MySQL Cluster ソースツリー (MySQL Cluster NDB 7.2.3 以降) に含まれる memcached ソースをビルドし、ndbmemcache エンジンをビルドするときにその結果の memcached サーバーを使用します。この場合、make install は memcached バイナリをインストールの
bin
ディレクトリに置き、ndbmemcache エンジン共有オブジェクトファイルndb_engine.so
をインストールのlib
ディレクトリに置きます。このオプションはデフォルトで ON です。
-
Java 用 MySQL Cluster Connector のビルド時に使用するクラスパスをセットします。デフォルトは空です。MySQL Cluster NDB 7.2.9 以降では、
-DWITH_NDB_JAVA=OFF
が使用されている場合はこのオプションは無視されます。 -
NDB
カーネルのエラーインジェクションを有効化します。テスト専用です。本番環境のバイナリのビルドに使用することは意図していません。デフォルトはOFF
です。 -
-DWITH_NDBCLUSTER_STORAGE_ENGINE={ON|OFF}
mysqld で
NDB
(NDBCLUSTER
) ストレージエンジンのサポートのビルドおよびリンク。デフォルトはON
です。 -
これは
WITH_NDBCLUSTER_STORAGE_ENGINE
のエイリアスです。 -
マルチスレッドのデータノード実行ファイル ndbmtd をビルド。デフォルトは
ON
です。 -
このオプションを使用して、mysqld ビルド内でデフォルトでバイナリロギングを有効にします。デフォルトで ON です。
-
MySQL Cluster バイナリのデバッグバージョンのビルドを有効にします。デフォルトで OFF です。
-
ClusterJ
を含め、MySQL Cluster の Java サポート付きでのビルドを有効にします。このオプションは MySQL Cluster NDB 7.2.9 で追加され、デフォルトで ON です。MySQL Cluster を Java サポート付きでコンパイルしない場合は、CMake の実行時に
-DWITH_NDB_JAVA=OFF
を指定することによって明示的に無効にする必要があります。そうしないと、Java が検出できない場合にビルドの構成が失敗します。 -
ビルドされた MySQL Cluster 管理サーバー (ndb_mgmd) が、この
port
をデフォルトで使用するようにします。このオプションがセットされていない場合、結果の管理サーバーはデフォルトでポート 1186 を使用しようとします。 -
有効の場合、NDB API テストプログラムをインクルードします。デフォルトは OFF です。