Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.2Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


2.9.4 MySQL ソース構成オプション

CMake プログラムを使用すると、MySQL ソース配布の構成方法を大幅に制御できます。通常これは、CMake コマンド行でオプションを使用して行います。CMake がサポートするオプションの詳細は、トップレベルのソースディレクトリで次のコマンドのいずれかを実行します。

shell> cmake . -LH
shell> ccmake .

特定の環境変数を使用して CMake に影響を与えることもできます。セクション2.12「環境変数」を参照してください。

次の表は、使用可能な CMake オプションを示しています。デフォルトカラムで、PREFIXCMAKE_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_PREFIXMYSQL_TCP_PORT、および MYSQL_UNIX_ADDR の各オプションは、サーバー起動時に mysqld--basedir--port、および --socket オプションで変更できます。該当する場合は、構成オプションの説明で対応する mysqld スタートアップオプションを示します。

一般オプション

  • -DBUILD_CONFIG=mysql_release

    このオプションは、オラクルが公式な MySQL リリースのバイナリ配布を生成するために使用するのと同じビルドオプションでソース配布を構成します。

  • -DCMAKE_BUILD_TYPE=type

    生成するビルドのタイプ

    • 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 パッケージレイアウト (実験的)。

    事前定義のレイアウトを選択できますが、ほかのオプションを指定することによって、個々のコンポーネントのインストール場所を変更できます。例:

    shell> cmake . -DINSTALL_LAYOUT=SVR4 -DMYSQL_DATADIR=/var/mysql/data
  • -DINSTALL_LIBDIR=dir_name

    ライブラリファイルをインストールする場所。

  • -DINSTALL_MANDIR=dir_name

    マニュアルページをインストールする場所。

  • -DINSTALL_MYSQLSHAREDIR=dir_name

    共有データファイルをインストールする場所。

  • -DINSTALL_MYSQLTESTDIR=dir_name

    mysql-test ディレクトリをインストールする場所。MySQL 5.6.12 では、このディレクトリのインストールを抑制するには、オプションを明示的に空の値にセットします (-DINSTALL_MYSQLTESTDIR=)。

  • -DINSTALL_PLUGINDIR=dir_name

    プラグインディレクトリの場所。

    この値は、サーバー起動時に --plugin_dir オプションで設定できます。

  • -DINSTALL_SBINDIR=dir_name

    mysqld サーバーをインストールする場所。

  • -DINSTALL_SCRIPTDIR=dir_name

    mysql_install_db をインストールする場所。

  • -DINSTALL_SHAREDIR=dir_name

    aclocal/mysql.m4 をインストールする場所。

  • -DINSTALL_SQLBENCHDIR=dir_name

    sql-bench ディレクトリをインストールする場所。このディレクトリのインストールを抑制するには、オプションを明示的に空の値にセットします (-DINSTALL_SQLBENCHDIR=)。

  • -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 はファイルへのフルパス名です。

  • -DTMPDIR=dir_name

    tmpdir システム変数に使用されるデフォルトの場所。指定しない場合は、値はデフォルトで P_tmpdir in <stdio.h> になります。このオプションは MySQL 5.6.16 で追加されました。

ストレージエンジンオプション

ストレージエンジンはプラグインとしてビルドされます。プラグインは、静的モジュール (サーバー内にコンパイル) または動的モジュール (使用する前に、INSTALL PLUGIN ステートメントまたは --plugin-load オプションを使用してサーバーにインストールする必要のあるダイナミックライブラリとしてビルド) としてビルドできます。一部のプラグインは、静的または動的ビルドをサポートしない場合があります。

MyISAMMERGEMEMORY、および CSV エンジンは必須 (必ずサーバー内にコンパイル) で、明示的にインストールする必要はありません。

ストレージエンジンをサーバー内に静的にコンパイルするには、-DWITH_engine_STORAGE_ENGINE=1 を使用します。許可される engine の値は、ARCHIVEBLACKHOLEEXAMPLEFEDERATEDINNOBASE (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 も指定されていない場合、そのエンジンは共有モジュールとしてビルドされるか、あるいは共有モジュールとしてビルドできない場合は除外されます。

機能オプション

  • -DCOMPILATION_COMMENT=string

    コンパイル環境に関する説明コメント。

  • -DDEFAULT_CHARSET=charset_name

    サーバーの文字セット。デフォルトでは、MySQL は latin1 (cp1252 西部ヨーロッパ) 文字セットを使用します。

    charset_name は、binaryarmscii8asciibig5cp1250cp1251cp1256cp1257cp850cp852cp866cp932dec8eucjpmseuckrgb2312gbkgeostd8greekhebrewhp8keybcs2koi8rkoi8ulatin1latin2latin5latin7maccemacromansjisswe7tis620ucs2ujisutf8utf8mb4utf16utf16leutf32 のいずれかにできます。許可される文字セットは、cmake/character_sets.cmake ファイルに CHARSETS_AVAILABLE の値としてリストされています。

    この値は、サーバー起動時に --character_set_server オプションで設定できます。

  • -DDEFAULT_COLLATION=collation_name

    サーバーの照合順序。デフォルトでは、MySQL は latin1_swedish_ci を使用します。各文字セットにどの照合順序を使用するかを決めるには SHOW COLLATION ステートメントを使用します。

    この値は、サーバー起動時に --collation_server オプションで設定できます。

  • -DENABLE_DEBUG_SYNC=bool

    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」を参照してください。

  • -DENABLE_DOWNLOADS=bool

    オプションファイルをダウンロードするかどうか。たとえば、このオプションを有効にすると CMake は、ユニットテストを実行するためにテストスイートが使用する Google Test 配布をダウンロードします。

  • -DENABLE_DTRACE=bool

    DTrace プローブのサポートをインクルードするかどうか。DTrace については、セクション5.4「DTrace を使用した mysqld のトレース」を参照してください。

  • -DENABLE_GCOV=bool

    gcov サポートをインクルードするかどうか (Linux のみ)。

  • -DENABLE_GPROF=bool

    gprof を有効にするかどうか (最適化された Linux ビルドのみ)。このオプションは MySQL 5.6.6 で追加されました。

  • -DENABLED_LOCAL_INFILE=bool

    LOCAL 機能を LOAD DATA INFILE のクライアントライブラリで有効にするかどうか。

    このオプションは、クライアント側の LOCAL 機能を制御しますが、この機能は --local-infile オプションを使用して、サーバー側でサーバーの起動時に設定できます。セクション6.1.6「LOAD DATA LOCAL のセキュリティーの問題」を参照してください。

  • -DENABLED_PROFILING=bool

    クエリープロファイリングコードを有効にするかどうか (SHOW PROFILE および SHOW PROFILES ステートメントで)。

  • -DIGNORE_AIO_CHECK=bool

    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 としてビルドするために必要です。そのためこのオプションは非推奨です。

  • -DMYSQL_MAINTAINER_MODE=bool

    MySQL 管理者固有の開発環境を有効にするかどうか。有効の場合、このオプションによりコンパイラの警告はエラーになります。

  • -DMYSQL_PROJECT_NAME=name

    Windows または OS X では、プロジェクトファイル名に組み込むプロジェクト名。このオプションは MySQL 5.6.5 で追加されました。

  • -DMYSQL_TCP_PORT=port_num

    サーバーが TCP/IP 接続を待機するポート番号。デフォルトは 3306 です。

    この値は、サーバー起動時に --port オプションで設定できます。

  • -DMYSQL_UNIX_ADDR=file_name

    サーバーがソケット接続を待機する Unix ソケットファイルのパス。これは絶対パス名でなければなりません。デフォルトは /tmp/mysql.sock です。

    この値は、サーバー起動時に --socket オプションで設定できます。

  • -DOPTIMIZER_TRACE=bool

    オプティマイザのトレースをサポートするかどうか。「MySQL Internals: Tracing the Optimizer」を参照してください。このオプションは MySQL 5.6.3 で追加されました。

  • -DWITH_ASAN=bool

    AddressSanitizer を有効にするかどうか (サポートするコンパイラの場合)。デフォルトはオフです。このオプションは MySQL 5.6.15 で追加されました。

  • -DWITH_DEBUG=bool

    デバッグサポートを含めるかどうか。

    デバッグサポートを有効にして MySQL を構成することにより、サーバーを起動するときに --debug="d,parser_debug" オプションを使用できるようになります。これにより、SQL ステートメントの処理に使用される Bison パーサーが、パーサートレースをサーバーの標準エラー出力にダンプします。一般的に、この出力はエラーログに書き込まれます。

  • -DWITH_DEFAULT_FEATURE_SET=bool

    cmake/build_configurations/feature_set.cmake からのフラグを使用するかどうか。このオプションは MySQL 5.6.6 で追加されました。

  • -DWITH_EDITLINE=value

    どの libedit/editline ライブラリを使用するか。許可される値は、bundled (デフォルト) および system です。

    WITH_EDITLINE は MySQL 5.6.12 で追加されました。これは、削除された WITH_LIBEDIT に代わるものです。

  • -DWITH_EMBEDDED_SERVER=bool

    libmysqld 組み込みサーバーライブラリをビルドするかどうか。

  • -DWITH_EMBEDDED_SHARED_LIBRARY=bool

    共有 libmysqld 組み込みサーバーライブラリをビルドするかどうか。このオプションは MySQL 5.6.17 で追加されました。

  • -DWITH_EXTRA_CHARSETS=name

    どの追加文字セットをインクルードするか。

    • all: すべての文字セット。これはデフォルトです。

    • complex: 複雑な文字セット。

    • none: 追加の文字セットなし。

  • -DWITH_INNODB_MEMCACHED=bool

    memcached 共有ライブラリ (libmemcached.so および innodb_engine.so) を生成するかどうか。

  • -DWITH_LIBEVENT=string

    どの libevent ライブラリを使用するか。許可される値は、bundled (デフォルト)、system、および yes です。system または yes を指定した場合、システム libevent ライブラリが存在すればそれが使用されます。システムライブラリが見つからない場合は、バンドルの libevent ライブラリが使用されます。libevent ライブラリは、InnoDB memcached が必要とします。

  • -DWITH_LIBEDIT=bool

    配布にバンドルされている libedit ライブラリを使用するかどうか。

    WITH_LIBEDIT は、MySQL 5.6.12 で削除されました。代わりに WITH_EDITLINE を使用します。

  • -DWITH_LIBWRAP=bool

    libwrap (TCP ラッパー) サポートを含めるかどうか。

  • -DWITH_READLINE=bool

    配布にバンドルされている readline ライブラリを使用するかどうか。readline はバンドルされなくなったため、このオプションは MySQL 5.6.5 で削除されました。

  • -DWITH_SSL={ssl_type|path_name}

  • 含める 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 バージョンを検出して使用するのを防ぐことができるため、systemssl_type 値を使用するよりもこちらの方が推奨されます。(同じことをするためのもう 1 つの許可される方法は、CMAKE_PREFIX_PATH オプションを path_name にセットすることです。)

    SSL サポートの使用の詳細は、セクション6.3.10「セキュアな接続のための SSL の使用」を参照してください。

  • -DWITH_UNIXODBC=1

    Connector/ODBC に関して、unixODBC サポートを有効にします。

  • -DWITH_VALGRIND=bool

    Valgrind ヘッダーファイルをコンパイルするかどうか。これにより、Valgrind API が MySQL コードに公開されます。デフォルトは OFF です。

    Valgrind 対応のデバッグビルドを生成するには、-DWITH_VALGRIND=1 は通常 -DWITH_DEBUG=1 と組み合わされます。Building Debug Configurations を参照してください。

  • -DWITH_ZLIB=zlib_type

    一部の機能では、サーバーが COMPRESS() および UNCOMPRESS() 関数などの圧縮ライブラリサポートでビルドされていること、およびクライアント/サーバープロトコルの圧縮を必要とします。WITH_ZLIBzlib サポートのソースを示します。

    • bundled: 配布にバンドルされた zlib ライブラリを使用します。

    • system: システムの zlib ライブラリを使用します。これはデフォルトです。

  • -DWITHOUT_SERVER=bool

    MySQL Server なしでビルドするかどうか。デフォルトは OFF で、サーバーをビルドします。

コンパイラフラグ

  • -DCMAKE_C_FLAGS="flags"

    C コンパイラのフラグ。

  • -DCMAKE_CXX_FLAGS="flags"

    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

最適化に影響するフラグ (-Onumber) をセットする場合は、CMAKE_C_FLAGS_build_type および/または CMAKE_CXX_FLAGS_build_type オプションをセットする必要があります。ここで、build_typeCMAKE_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 ツリーからのソースを使用する場合は、サポートされていません。

  • -DMEMCACHED_HOME=path

    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 installmemcached バイナリをインストールの bin ディレクトリに置き、ndbmemcache エンジン共有オブジェクトファイル ndb_engine.so をインストールの lib ディレクトリに置きます。

    このオプションはデフォルトで ON です。

  • -DWITH_CLASSPATH=path

    Java 用 MySQL Cluster Connector のビルド時に使用するクラスパスをセットします。デフォルトは空です。MySQL Cluster NDB 7.2.9 以降では、-DWITH_NDB_JAVA=OFF が使用されている場合はこのオプションは無視されます。

  • -DWITH_ERROR_INSERT={ON|OFF}

    NDB カーネルのエラーインジェクションを有効化します。テスト専用です。本番環境のバイナリのビルドに使用することは意図していません。デフォルトは OFF です。

  • -DWITH_NDBCLUSTER_STORAGE_ENGINE={ON|OFF}

    mysqldNDB (NDBCLUSTER) ストレージエンジンのサポートのビルドおよびリンク。デフォルトは ON です。

  • -DWITH_NDBCLUSTER={ON|OFF}

    これは WITH_NDBCLUSTER_STORAGE_ENGINE のエイリアスです。

  • -DWITH_NDBMTD={ON|OFF}

    マルチスレッドのデータノード実行ファイル ndbmtd をビルド。デフォルトは ON です。

  • -DWITH_NDB_BINLOG={ON|OFF}

    このオプションを使用して、mysqld ビルド内でデフォルトでバイナリロギングを有効にします。デフォルトで ON です。

  • -DWITH_NDB_DEBUG={ON|OFF}

    MySQL Cluster バイナリのデバッグバージョンのビルドを有効にします。デフォルトで OFF です。

  • -DWITH_NDB_JAVA={ON|OFF}

    ClusterJ を含め、MySQL Cluster の Java サポート付きでのビルドを有効にします。

    このオプションは MySQL Cluster NDB 7.2.9 で追加され、デフォルトで ON です。MySQL Cluster を Java サポート付きでコンパイルしない場合は、CMake の実行時に -DWITH_NDB_JAVA=OFF を指定することによって明示的に無効にする必要があります。そうしないと、Java が検出できない場合にビルドの構成が失敗します。

  • -DWITH_NDB_PORT=port

    ビルドされた MySQL Cluster 管理サーバー (ndb_mgmd) が、この port をデフォルトで使用するようにします。このオプションがセットされていない場合、結果の管理サーバーはデフォルトでポート 1186 を使用しようとします。

  • -DWITH_NDB_TEST={ON|OFF}

    有効の場合、NDB API テストプログラムをインクルードします。デフォルトは OFF です。


User Comments
Sign Up Login You must be logged in to post a comment.