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


MySQL 5.6 リファレンスマニュアル  /  ...  /  サーバーコマンドオプション

5.1.3 サーバーコマンドオプション

mysqld サーバーを起動するときに、セクション4.2.3「プログラムオプションの指定」に記載されているいずれかの方法で、プログラムオプションを指定できます。もっとも一般的な方法は、オプションファイルまたはコマンド行でオプションを提供するやり方です。ただし、ほとんどの場合では、サーバーが毎回実行するときサーバーが必ず同じオプションを使用します。これを確実に行う最適な方法は、オプションファイルにオプションを一覧表示することです。セクション4.2.6「オプションファイルの使用」を参照してください。このセクションではオプションファイルの形式および構文についても説明します。

mysqld[mysqld] および [server] グループからオプションを読み取ります。mysqld_safe[mysqld][server][mysqld_safe]、および [safe_mysqld] グループからオプションを読み取ります。mysql.server[mysqld] および [mysql.server] グループからオプションを読み取ります。

Embedded MySQL Server は通常、[server][embedded]、および [xxxxx_SERVER] グループからオプションを読み取り、ここで xxxxx はこのサーバーを組み込んでいるアプリケーション名です。

mysqld には多くのコマンドオプションがあります。簡単なサマリーについては、mysqld --help を実行します。完全なリストを表示するには、mysqld --verbose --help を使用します。

次に、もっとも一般的なサーバーオプションの一部を示します。その他のオプションは、ほかのセクションに記載されています。

また、このセクションの最後に記載されているように、サーバーシステム変数の値を設定するとき、変数名をオプションとして使用することもできます。

一部のオプションはバッファーまたはキャッシュのサイズを制御します。所定のバッファーについて、サーバーは内部データ構造を割り当てる必要がある場合もあります。これらの構造は、バッファーに割り当てられた合計メモリーから割り当てられ、必要なスペースの量はプラットフォームに依存することがあります。つまり、バッファーサイズを制御するオプションに値を割り当てたとき、実際に使用可能なスペースの量が、割り当てられた値と異なる場合もあることを意味します。一部の場合では、この量は割り当てられた値より少ないこともあります。また、サーバーが値を上方に調整することも考えられます。たとえば、最小値が 1024 のオプションに値 0 を割り当てた場合、サーバーは値を 1024 に設定します。

バッファーサイズ、長さ、およびスタックサイズの値は、別途指定しないかぎりバイト単位で指定されます。

一部のオプションはファイル名の値を取ります。別途指定しないかぎり、値が相対パス名であれば、デフォルトのファイルの場所はデータディレクトリです。場所を明示的に指定するには、絶対パス名を使用します。たとえばデータディレクトリが /var/mysql/data だとします。ファイル値のオプションが相対パス名として指定された場合、ファイルは /var/mysql/data の下に配置されます。値が絶対パス名である場合、その場所はパス名によって指定されます。

  • --help, -?

    プロパティ
    コマンド行形式 --help

    短いヘルプメッセージを表示して終了します。詳細メッセージを表示するには、--verbose および --help の両方のオプションを使用します。

  • --allow-suspicious-udfs

    プロパティ
    コマンド行形式 --allow-suspicious-udfs
    ブール
    デフォルト FALSE

    このオプションは、メイン関数に xxx 記号のみを持つユーザー定義関数をロードできるかどうかを制御します。デフォルトでは、このオプションはオフで、少なくとも 1 つの補助記号を持つ UDF のみをロードできます。これにより、正当な UDF を含むもの以外の共有オブジェクトファイルから関数をロードしないようにします。セクション24.3.2.6「ユーザー定義関数のセキュリティー上の予防措置」を参照してください。

  • --ansi

    プロパティ
    コマンド行形式 --ansi

    MySQL 構文の代わりに標準 (ANSI) SQL 構文を使用します。サーバー SQL モードをさらに正確に制御するには、代わりに --sql-mode オプションを使用します。セクション1.7「MySQL の標準への準拠」セクション5.1.7「サーバー SQL モード」を参照してください。

  • --basedir=path, -b path

    プロパティ
    コマンド行形式 --basedir=path
    システム変数 basedir
    スコープ グローバル
    動的 いいえ
    ディレクトリ名

    MySQL インストールディレクトリへのパス。すべてのパスは、通常はこのディレクトリを基準として解決されます。

  • --big-tables

    プロパティ
    コマンド行形式 --big-tables
    システム変数 big_tables
    スコープ グローバル、セッション
    動的 はい
    ブール
    デフォルト OFF

    すべての一時的セットをファイルに保存することによって、大きい結果セットを有効にします。このオプションによって、ほとんどの table full エラーを防ぎますが、インメモリーテーブルだけで十分なクエリーの速度が低下します。MySQL 3.23.2 以降では、サーバーは小さい一時テーブルについてはメモリーを使用し、必要な場合にディスクテーブルに切り換えることによって、大きい結果セットを自動的に処理できます。

  • --bind-address=addr

    プロパティ
    コマンド行形式 --bind-address=addr
    システム変数 (>= 5.6.1) bind_address
    スコープ (>= 5.6.1) グローバル
    動的 (>= 5.6.1) いいえ
    文字列
    デフォルト (>= 5.6.6) *
    デフォルト (<= 5.6.5) 0.0.0.0

    MySQL Server は、TCP/IP 接続について単一ネットワークソケットを listen します。このソケットは単一アドレスにバインドされますが、あるアドレスを複数のネットワークインタフェースにマップできます。アドレスを指定するには、サーバー起動時に --bind-address=addr オプションを使用します。ここで、addr は IPv4 または IPv6 アドレスあるいはホスト名です。addr がホスト名の場合、サーバーはこの名前を IP アドレスに解決し、そのアドレスにバインドします。

    サーバーはさまざまなタイプのアドレスを次のように処理します。

    • アドレスが * の場合、サーバーホストが IPv6 アドレスをサポートする場合はすべてのサーバーホストの IPv6 および IPv4 インタフェース上の TCP/IP 接続を受け入れ、そうでない場合はすべての IPv4 アドレスの TCP/IP 接続を受け入れます。すべてのサーバーインタフェース上の IPv4 および IPv6 の両方の接続を許可するには、このアドレスを使用します。この値は、MySQL 5.6.6 以降で許可されています (またデフォルトです)。

    • アドレスが 0.0.0.0 の場合、サーバーはすべてのサーバーホスト IPv4 インタフェース上の TCP/IP 接続を受け入れます。これは MySQL 5.6.6 以前のデフォルトです。

    • アドレスが :: の場合、サーバーはすべてのサーバーホスト IPv4 および IPv6 インタフェース上の TCP/IP 接続を受け入れます。

    • アドレスが IPv4 にマップ済みのアドレスの場合、サーバーは IPv4 または IPv6 のいずれかの形式で、そのアドレスの TCP/IP 接続を受け入れます。たとえば、サーバーが ::ffff:127.0.0.1 にバインドされている場合、クライアントは --host=127.0.0.1 または --host=::ffff:127.0.0.1 のいずれかを使用して接続できます。

    • アドレスが通常の IPv4 または IPv6 アドレスの場合 (127.0.0.1::1 など)、サーバーはその IPv4 または IPv6 アドレスについてのみ TCP/IP 接続を受け入れます。

    サーバーを特定のアドレスにバインドする予定の場合、そのアドレスに接続するために使用できる管理者権限を持つアカウントが mysql.user 付与テーブルに含まれていることを確認します。そうでない場合、サーバーをシャットダウンできません。たとえば、サーバーを * にバインドしている場合、すべての既存のアカウントを使用して接続できます。ただし、サーバーを ::1 にバインドしている場合、そのアドレスの接続のみ受け入れます。この場合、'root'@'::1' アカウントが mysql.user テーブルに存在することをまず確認して、サーバーに接続してシャットダウンできることをたしかめます。

  • --binlog-format={ROW|STATEMENT|MIXED}

    プロパティ
    コマンド行形式 --binlog-format=format
    システム変数 binlog_format
    スコープ グローバル、セッション
    動的 はい
    列挙
    デフォルト (>= 5.6.10-ndb-7.3.1) MIXED
    デフォルト STATEMENT
    有効な値

    ROW

    STATEMENT

    MIXED

    行ベース、ステートメントベース、または複合型のレプリケーションのいずれを使用するか指定します。ステートメントベースは MySQL 5.6 のデフォルトです。セクション17.1.2「レプリケーション形式」を参照してください。

    一部の状況では、この変数を実行時に変更できなかったり、レプリケーションの失敗の原因になったりします。詳細については、セクション5.2.4.2「バイナリログ形式の設定」を参照してください。

    バイナリロギングを有効にしないでバイナリロギング形式を設定すると、binlog_format グローバルシステム変数が設定されて、警告がログに記録されます。

  • --bootstrap

    プロパティ
    コマンド行形式 --bootstrap

    このオプションは、MySQL Server 全体を開始させることなく MySQL 特権テーブルを作成するために、mysql_install_db プログラムによって使用されます。

    MySQL 5.6.6 以降では、このオプションが使用されるとレプリケーションおよびグローバルトランザクション ID が常に自動的に無効化されます (バグ #1332602)。セクション17.1.3「グローバルトランザクション識別子を使用したレプリケーション」を参照してください。

  • --character-sets-dir=path

    プロパティ
    コマンド行形式 --character-sets-dir=path
    システム変数 character_sets_dir
    スコープ グローバル
    動的 いいえ
    ディレクトリ名

    文字セットがインストールされているディレクトリ。セクション10.5「文字セットの構成」を参照してください。

  • --character-set-client-handshake

    プロパティ
    コマンド行形式 --character-set-client-handshake
    ブール
    デフォルト TRUE

    クライアントによって送信された文字セット情報を無視しません。クライアント情報を無視して、サーバーのデフォルトの文字セットを使用するには、--skip-character-set-client-handshake を使用します。これにより、MySQL は MySQL 4.0. のように動作します。

  • --character-set-filesystem=charset_name

    プロパティ
    コマンド行形式 --character-set-filesystem=name
    システム変数 character_set_filesystem
    スコープ グローバル、セッション
    動的 はい
    文字列
    デフォルト binary

    ファイルシステムの文字セット。このオプションは、character_set_filesystem のシステム変数を設定します。

  • --character-set-server=charset_name, -C charset_name

    プロパティ
    コマンド行形式 --character-set-server
    システム変数 character_set_server
    スコープ グローバル、セッション
    動的 はい
    文字列
    デフォルト latin1

    charset_name をデフォルトの文字セットとして使用します。セクション10.5「文字セットの構成」を参照してください。このオプションを使用してデフォルト以外の文字セットを指定する場合、照合順序を指定するために --collation-server も使用します。

  • --chroot=path, -r path

    プロパティ
    コマンド行形式 --chroot=dir_name
    ディレクトリ名

    chroot() のシステムコールを使用して、mysqld サーバーを起動中にクローズ環境にします。これは推奨されるセキュリティー対策です。このオプションを使用すると、LOAD DATA INFILE および SELECT ... INTO OUTFILE がいくらか制限されることに注意してください。

  • --collation-server=collation_name

    プロパティ
    コマンド行形式 --collation-server
    システム変数 collation_server
    スコープ グローバル、セッション
    動的 はい
    文字列
    デフォルト latin1_swedish_ci

    collation_name をサーバーのデフォルトの照合順序として使用します。セクション10.5「文字セットの構成」を参照してください。

  • --console

    プロパティ
    コマンド行形式 --console
    プラットフォーム固有 Windows

    (Windows のみ。)このオプションが使用されている場合、エラーログメッセージを stderr に書き込み、stdout. mysqld はコンソールウィンドウを閉じません。

    --log-error および --console の両方が指定されている場合、--log-error が優先されます。サーバーはログファイルに書き込みますが、コンソールには書き込みません。

  • --core-file

    プロパティ
    コマンド行形式 --core-file
    ブール
    デフォルト OFF

    mysqld が異常終了した場合にコアファイルを作成します。コアファイルの名前および場所はシステムに依存します。Linux の場合、core.pid という名前のコアファイルがプロセスの現在の作業ディレクトリに書き込まれ、これは mysqld のデータディレクトリです。pid はサーバープロセスのプロセス ID を表します。OS X の場合、core.pid という名前のコアファイルが /cores ディレクトリに書き込まれます。Solaris の場合、coreadm コマンドを使用して、コアファイルの書き込み先と名前を指定する方法を指定します。

    一部のシステムでコアファイルを取得するには、mysqld_safe--core-file-size オプションを指定する必要もあります。セクション4.3.2「mysqld_safe — MySQL サーバー起動スクリプト」を参照してください。Solaris などの一部のシステムでは、--user オプションも使用しないとコアファイルを取得できません。追加の制限または制約がある場合もあります。たとえば、サーバーを起動する前に ulimit -c unlimited を実行することが必要な場合もあります。システムのドキュメントを参照してください。

  • --datadir=path, -h path

    プロパティ
    コマンド行形式 --datadir=path
    システム変数 datadir
    スコープ グローバル
    動的 いいえ
    ディレクトリ名

    データディレクトリへのパス。

  • --debug[=debug_options], -# [debug_options]

    プロパティ
    コマンド行形式 --debug[=debug_options]
    システム変数 debug
    スコープ グローバル、セッション
    動的 はい
    文字列
    デフォルト (Windows) d:t:i:O,\mysqld.trace
    デフォルト (Unix) d:t:i:o,/tmp/mysqld.trace

    MySQL が -DWITH_DEBUG=1 で構成されている場合、このオプションを使用して、mysqld の動作のトレースファイルを取得できます。一般的な debug_options 文字列は d:t:o,file_name です。デフォルトは、UNIX の場合は d:t:i:o,/tmp/mysqld.trace、Windows の場合は d:t:i:O,\mysqld.trace です。

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

    このオプションは複数回指定されることがあります。+ または - で開始される値が以前の値に加算または減算されます。たとえば、--debug=T --debug=+P と指定すると、値は P:T に設定されます。

    詳細については、セクション24.4.3「DBUG パッケージ」を参照してください。

  • --debug-sync-timeout[=N]

    プロパティ
    コマンド行形式 --debug-sync-timeout[=#]
    数値

    テストおよびデバッグのための Debug Sync 機能が有効かどうかを制御します。Debug Sync を使用するには MySQL が -DENABLE_DEBUG_SYNC=1 オプションで構成されている必要があります (セクション2.9.4「MySQL ソース構成オプション」を参照)。Debug Sync がコンパイルされていない場合、このオプションは使用できません。オプション値は秒単位のタイムアウトです。デフォルト値は 0 で、Debug Sync を無効にします。これを有効にするには、0 より大きい値を指定してください。この値は、個々の同期点についてのデフォルトのタイムアウトになります。オプションが値なしで指定された場合、タイムアウトは 300 秒に設定されます。

    Debug Sync 機能および同期点の使用方法についての説明は、「MySQL Internals: Test Synchronization」を参照してください。

  • --default-authentication-plugin=plugin_name

    プロパティ
    コマンド行形式 --default-authentication-plugin=plugin_name
    導入 5.6.6
    列挙
    デフォルト mysql_native_password
    有効な値

    mysql_native_password

    sha256_password

    このオプションは、デフォルトの認証プラグインを設定します。許可される値は mysql_native_password (MySQL ネイティブパスワードを使用する) および sha256_password (SHA-256 パスワードを使用する) です。これらのプラグインについての詳細は、セクション6.3.8.1「ネイティブ認証プラグイン」およびセクション6.3.8.4「SHA-256 認証プラグイン」を参照してください。このオプションは MySQL 5.6.6 で追加されました。

    注記

    MySQL 5.6.17 以前でこのオプションを使用して、デフォルトの認証プラグインを mysql_native_password 以外の値に変更した場合、MySQL 5.5.7 より古いクライアントは認証プロトコルへの変更の結果を認識できないため接続できなくなります。

    --default-authentication-plugin 値は、サーバー操作の次の側面に影響します。

    • プラグインの名前を IDENTIFIED WITH 句で明示的に指定しない CREATE USER および GRANT ステートメントによって作成された新規アカウントに対して、サーバーが割り当てる認証プラグインを決定します。

    • 起動時に old_passwords システム変数を、デフォルトプラグインによって必要となるパスワードハッシュ方式と整合性のある値に設定します。old_passwords 値は、CREATE USER および GRANTIDENTIFIED BY 句で指定されたパスワードのハッシュと、PASSWORD() 関数の引数として指定されるパスワードに影響します。

    • 次のいずれかのステートメントで作成されるアカウントについて、サーバーはアカウントにデフォルト認証プラグインを関連付け、old_passwords の値によってハッシュされた所定のパスワードをアカウントに割り当てます。

      CREATE USER ... IDENTIFIED BY 'cleartext password';
      GRANT ...  IDENTIFIED BY 'cleartext password';
    • 次のいずれかのステートメントで作成されるアカウントについて、デフォルト認証プラグインで必要なハッシュ形式を使用してパスワードハッシュが暗号化されていない場合、ステートメントは失敗します。そうでない場合、サーバーはアカウントにデフォルト認証プラグインを関連付け、アカウントに所定のパスワードハッシュを割り当てます。

      CREATE USER ... IDENTIFIED BY PASSWORD 'encrypted password';
      GRANT ...  IDENTIFIED BY PASSWORD 'encrypted password';
  • --default-storage-engine=type

    プロパティ
    コマンド行形式 --default-storage-engine=name
    システム変数 default_storage_engine
    スコープ グローバル、セッション
    動的 はい
    列挙
    デフォルト InnoDB

    テーブルのデフォルトストレージエンジンを設定します。第15章「代替ストレージエンジンを参照してください。MySQL 5.6.3 以降では、このオプションは永続的なテーブルについてのみストレージエンジンを設定します。TEMPORARY テーブルについてストレージエンジンを設定するには、default_tmp_storage_engine システム変数を設定します。

    サーバー起動時のデフォルトストレージエンジンを無効にした場合、永続テーブルと TEMPORARY テーブルの両方のデフォルトエンジンを別のエンジンに設定しなければならず、そうしないとサーバーは起動しません。

  • --default-time-zone=timezone

    プロパティ
    コマンド行形式 --default-time-zone=name
    文字列

    デフォルトのサーバータイムゾーンを設定します。このオプションは、グローバルな time_zone システム変数を設定します。このオプションを指定しない場合、デフォルトのタイムゾーンは、(system_time_zone システム変数の値によって指定される) システムのタイムゾーンと同一になります。

  • --defaults-extra-file=file_name

    このオプションファイルは、グローバルオプションファイルのあとに読み取りますが、(UNIX では) ユーザーオプションファイルの前に読み取るようにしてください。ファイルが存在しないかアクセスできない場合、エラーが発生します。file_name は、フルパス名でなく相対パス名として指定された場合、現行ディレクトリを基準にして解釈されます。

  • --defaults-file=file_name

    指定されたオプションファイルのみ使用します。ファイルが存在しないかアクセスできない場合、エラーが発生します。file_name は、フルパス名でなく相対パス名として指定された場合、現行ディレクトリを基準にして解釈されます。

  • --defaults-group-suffix=str

    通常のオプショングループだけでなく、通常の名前に str のサフィクスが付いたグループも読み取ります。たとえば、mysqld は通常 [mysqld] グループを読み取ります。--defaults-group-suffix=_other オプションを指定した場合、mysqld[mysqld_other] グループも読み取ります。

  • --delay-key-write[={OFF|ON|ALL}]

    プロパティ
    コマンド行形式 --delay-key-write[=name]
    システム変数 delay_key_write
    スコープ グローバル
    動的 はい
    列挙
    デフォルト ON
    有効な値

    ON

    OFF

    ALL

    鍵の遅延書き込みを使用する方法を指定します。鍵の遅延書き込みにより、MyISAM テーブルについて、書き込みと書き込みの間に鍵バッファーがフラッシュされなくなります。OFF は、鍵の遅延書き込みを無効にします。ON は、DELAY_KEY_WRITE オプションを付けて作成されたテーブルに対して鍵の遅延書き込みを有効にします。ALL は、すべての MyISAM テーブルに対する鍵の書き込みを遅延させます。セクション8.11.2「サーバーパラメータのチューニング」およびセクション15.2.1「MyISAM 起動オプション」を参照してください。

    注記

    この変数を ALL に設定した場合、MyISAM テーブルの使用中に、このテーブルを別のプログラム内 (別の MySQL Server または myisamchk など) から使用しないでください。これを行うと、インデックスが破損します。

  • --des-key-file=file_name

    プロパティ
    コマンド行形式 --des-key-file=file_name

    このファイルからデフォルトの DES 鍵を読み取ります。これらの鍵は、DES_ENCRYPT() および DES_DECRYPT() 関数によって使用されます。

  • --enable-named-pipe

    プロパティ
    コマンド行形式 --enable-named-pipe
    プラットフォーム固有 Windows

    名前付きパイプのサポートを有効にします。このオプションは Windows にのみ適用されます。

  • --engine-condition-pushdown={ON|OFF}

    プロパティ
    コマンド行形式 --engine-condition-pushdown
    非推奨 はい (removed in 5.6.1); use optimizer_switch instead
    システム変数 engine_condition_pushdown
    スコープ グローバル、セッション
    動的 はい
    ブール
    デフォルト ON

    以前は、このオプションは engine_condition_pushdown システム変数を設定しており、このオプションおよび変数は MySQL 5.6.1 で両方とも削除されました。詳細については、セクション8.2.1.5「エンジンコンディションプッシュダウンの最適化」を参照してください。

  • --event-scheduler[=value]

    プロパティ
    コマンド行形式 --event-scheduler[=value]
    システム変数 event_scheduler
    スコープ グローバル
    動的 はい
    列挙
    デフォルト OFF
    有効な値

    ON

    OFF

    DISABLED

    イベントスケジューラを有効または無効にし、開始または停止します。

    詳細情報については、--event-scheduler オプションを参照してください。

  • --exit-info[=flags], -T [flags]

    プロパティ
    コマンド行形式 --exit-info[=flags]
    数値

    mysqld サーバーのデバッグに使用できる、複数の異なるフラグのビットマスクです。このオプションを使用するには、完全にこのオプションを理解していることが必要です。

  • --external-locking

    プロパティ
    コマンド行形式 --external-locking
    ブール
    デフォルト FALSE

    MySQL 4.0 以降ではデフォルトで無効になった、外部ロック (システムロック) を有効にします。lockd が完全には機能しないシステム (Linux など) でこのオプションを使用すると、mysqld がデッドロックしやすくなることに注意してください。

    外部ロックを明示的に無効にするには、--skip-external-locking を使用します。

    外部ロックは MyISAM テーブルアクセスにのみ影響します。使用できるまたはできない状況も含めた詳細情報については、セクション8.10.5「外部ロック」を参照してください。

  • --flush

    プロパティ
    コマンド行形式 --flush
    システム変数 flush
    スコープ グローバル
    動的 はい
    ブール
    デフォルト OFF

    各 SQL ステートメント後にすべての変更内容をディスクにフラッシュ (同期) します。通常、MySQL では各 SQL ステートメントの終了後にのみすべての変更内容をディスクに書き込み、ディスクへの同期はオペレーティングシステムが処理します。セクションB.5.4.2「MySQL が繰り返しクラッシュする場合の対処方法」を参照してください。

  • --gdb

    プロパティ
    コマンド行形式 --gdb
    ブール
    デフォルト FALSE

    SIGINT 用の割り込みハンドラ (ブレークポイントを設定するための ^C を使用して mysqld を停止するために必要) をインストールし、スタックトレースおよびコアファイルの処理を無効にします。セクション24.4「MySQL のデバッグおよび移植」 を参照してください。

  • --general-log[={0|1}]

    プロパティ
    コマンド行形式 --general-log
    システム変数 general_log
    スコープ グローバル
    動的 はい
    ブール
    デフォルト OFF

    一般的なクエリーログの初期状態を指定します。引数がないか引数が 1 の場合、--general-log オプションはログを使用可能にします。省略されるか引数が 0 の場合、オプションはログを使用不可にします。

  • --ignore-db-dir=dir_name

    プロパティ
    コマンド行形式 --ignore-db-dir
    導入 5.6.3
    ディレクトリ名

    このオプションは、SHOW DATABASES ステートメントまたは INFORMATION_SCHEMA テーブルの特定のディレクトリ名を無視するようサーバーに指示します。たとえば、MySQL 構成によって、UNIX のファイルシステムのルートにデータディレクトリが指定された場合、システムはその場所に、サーバーが無視する lost+found ディレクトリを作成することがあります。--ignore-db-dir=lost+found を指定してサーバーを起動すると、その名前はデータベースとしてリストされません。

    複数の名前を指定するには、このオプションをそれぞれの名前に 1 回ずつ複数回使用します。空の値を使用してオプションを指定すると (つまり、--ignore-db-dir=) ディレクトリリストが空のリストにリセットされます。

    サーバー起動時に指定されるこのオプションのインスタンスは、ignore_db_dirs システム変数を設定するために使用されます。

    このオプションは MySQL 5.6.3 で追加されました。

  • --init-file=file_name

    プロパティ
    コマンド行形式 --init-file=file_name
    システム変数 init_file
    スコープ グローバル
    動的 いいえ
    ファイル名

    起動時にこのファイルから SQL ステートメントを読み取ります。各ステートメントは単一の行にして、コメントを含めなでください。

  • --innodb-xxx

    InnoDB ストレージエンジンのオプションを設定します。InnoDB オプションは、セクション14.12「InnoDB の起動オプションおよびシステム変数」にリストされています。

  • --install [service_name]

    プロパティ
    コマンド行形式 --install [service_name]
    プラットフォーム固有 Windows

    (Windows のみ) Windows の起動時に自動的に開始する Windows サービスとしてサーバーをインストールします。service_name の値が指定されない場合、デフォルトサービス名は MySQL です。詳細については、セクション2.3.5.7「Windows のサービスとして MySQL を起動する」を参照してください。

    注記

    --defaults-file オプションおよび --install オプションを使用してサーバーを起動する場合、--install を先にする必要があります。

  • --install-manual [service_name]

    プロパティ
    コマンド行形式 --install-manual [service_name]
    プラットフォーム固有 Windows

    (Windows のみ) 手動で開始する必要がある Windows サービスとしてサーバーをインストールします。Windows の起動中に自動的に開始されません。service_name の値が指定されない場合、デフォルトサービス名は MySQL です。詳細については、セクション2.3.5.7「Windows のサービスとして MySQL を起動する」を参照してください。

    注記

    --defaults-file オプションおよび --install-manual オプションを使用してサーバーを起動する場合、--install-manual を先にする必要があります。

  • --language=lang_name, -L lang_name

    プロパティ
    コマンド行形式 --language=name
    非推奨 5.6.1; use lc-messages-dir instead
    システム変数 language
    スコープ グローバル
    動的 いいえ
    ディレクトリ名
    デフォルト /usr/local/mysql/share/mysql/english/

    エラーメッセージに使用する言語。lang_name は、言語名として指定するか、言語ファイルがインストールされているディレクトリへのフルパス名として指定できます。セクション10.2「エラーメッセージ言語の設定」を参照してください。

    MySQL 5.6 では、--lc-messages-dir および --lc-messages を使用し、--language は使用しないでください。こちらは MySQL 5.6.1 で非推奨となり、--lc-messages-dir のエイリアスとして処理されます。--language オプションは今後の MySQL リリースで削除されます。

  • --large-pages

    プロパティ
    コマンド行形式 --large-pages
    システム変数 large_pages
    スコープ グローバル
    動的 いいえ
    プラットフォーム固有 Linux
    ブール
    デフォルト FALSE

    ハードウェアまたはオペレーティングシステムのアーキテクチャーによっては、デフォルト (通常は 4K バイト) よりも大きいメモリーページをサポートしています。このサポートの実際の実装は、ベースとなるハードウェアやオペレーティングシステムに依存します。大量のメモリーアクセスがあるアプリケーションの場合、大きいページを使用して、トランスレーションルックアサイドバッファー (TLB; Translation Lookaside Buffer) のミスが減ることによってパフォーマンスが改善される可能性があります。

    MySQL 5.6 は、大きいページのサポートの Linux 実装 (Linux では HugeTLB と呼ばれる) をサポートします。セクション8.11.4.2「ラージページのサポートの有効化」を参照してください。大きいページの Solaris サポートについては、--super-large-pages オプションの説明を参照してください。

    --large-pages はデフォルトで無効になっています。

  • --lc-messages=locale_name

    プロパティ
    コマンド行形式 --lc-messages=name
    システム変数 lc_messages
    スコープ グローバル、セッション
    動的 はい
    文字列
    デフォルト en_US

    エラーメッセージに使用するロケール。デフォルトは en_US です。サーバーは引数を言語名に変換し、これを --lc-messages-dir の値と組み合わせてエラーメッセージファイルの場所を生成します。セクション10.2「エラーメッセージ言語の設定」を参照してください。

  • --lc-messages-dir=path

    プロパティ
    コマンド行形式 --lc-messages-dir=dir_name
    システム変数 lc_messages_dir
    スコープ グローバル
    動的 いいえ
    ディレクトリ名

    エラーメッセージが配置されているディレクトリ。サーバーはこの値を --lc-messages の値と一緒に使用して、エラーメッセージファイルの場所を生成します。セクション10.2「エラーメッセージ言語の設定」を参照してください。

  • --local-service

    プロパティ
    コマンド行形式 --local-service

    (Windows のみ) サービス名のあとに --local-service オプションが指定されると、システム権限が制限された LocalService の Windows アカウントを使用してサーバーが実行されます。このアカウントは Windows XP またはそれ以降でのみ利用できます。--defaults-file および --local-service の両方がサービス名のあとに指定される場合、どのような順序でもかまいません。セクション2.3.5.7「Windows のサービスとして MySQL を起動する」を参照してください。

  • --log[=file_name], -l [file_name]

    プロパティ
    コマンド行形式 --log[=file_name]
    非推奨 はい (removed in 5.6.1); use general-log instead
    システム変数 log
    スコープ グローバル
    動的 はい
    ファイル名

    --log オプションは MySQL 5.6.1 で (log システム変数と一緒に) 削除されました。代わりに、一般クエリーログを有効にするには --general_log オプションを使用し、一般クエリーログファイル名を設定するには --general_log_file=file_name オプションを使用してください。

  • --log-error[=file_name]

    プロパティ
    コマンド行形式 --log-error[=file_name]
    システム変数 log_error
    スコープ グローバル
    動的 いいえ
    ファイル名

    エラーおよび起動メッセージのログをこのファイルに記録します。セクション5.2.2「エラーログ」 を参照してください。ファイル名を省略すると、MySQL は host_name.err を使用します。ファイル名に拡張子がない場合、サーバーは拡張子 .err を追加します。

  • --log-isam[=file_name]

    プロパティ
    コマンド行形式 --log-isam[=file_name]
    ファイル名

    MyISAM のすべての変更内容をこのファイルに記録します (MyISAM をデバッグするときだけ使用します)。

  • --log-output=value,...

    プロパティ
    コマンド行形式 --log-output=name
    システム変数 log_output
    スコープ グローバル
    動的 はい
    セット
    デフォルト FILE
    有効な値

    TABLE

    FILE

    NONE

    このオプションは、一般クエリーログおよびスロークエリーログの出力先を決定します。オプション値は、TABLEFILENONE の 1 つ以上の文字で指定できます。TABLE は、宛先として mysql データベース内の general_log および slow_log テーブルへのロギングを選択します。FILE は、ログファイルを宛先としたロギングを選択します。NONE はロギングを無効にします。NONE がオプション値にある場合は、存在するすべての文字よりも優先されます。TABLE および FILE を両方指定して、両方のログ出力の宛先を選択できます。

    このオプションはログ出力の宛先を選択しますが、ログ出力を有効化しません。これを行うには、--general_log および --slow_query_log オプションを使用します。FILE でのロギングの場合、--general_log_file オプションおよび -slow_query_log_file オプションによってログファイルの場所が決定されます。詳細については、セクション5.2.1「一般クエリーログおよびスロークエリーログの出力先の選択」を参照してください。

  • --log-queries-not-using-indexes

    プロパティ
    コマンド行形式 --log-queries-not-using-indexes
    システム変数 log_queries_not_using_indexes
    スコープ グローバル
    動的 はい
    ブール
    デフォルト OFF

    スロークエリーログを有効にしてこのオプションを使用した場合、すべての行を取得することが予想されるクエリーがログに記録されます。セクション5.2.5「スロークエリーログ」を参照してください。このオプションは、インデックスが使用されないことを必ずしも意味するわけではありません。たとえば、フルインデックススキャンを使用するクエリーはインデックスを使用しますが、インデックスは行数を制限しないため、クエリーはログに記録されます。

  • --log-raw

    プロパティ
    コマンド行形式 --log-raw[=value]
    導入 5.6.3
    ブール
    デフォルト OFF

    MySQL 5.6.3 以降では、一般クエリーログ、スロークエリーログ、およびバイナリログに書き込まれる特定のステートメントのパスワードは、文字どおり平文で出現しないようにサーバーによって書き直されます。一般クエリーログについてのパスワードの書き換えは、--log-raw オプションでサーバーを起動することによって抑制できます。このオプションは、サーバーによって受け取られるステートメントの正確なテキストを表示する際の診断目的で役立つ場合がありますが、セキュリティー上の理由で本番用途では推奨されません。

    MySQL 5.6.3 より前では、ステートメント内のパスワードは書き換えられないため、一般クエリーログを保護するようにしてください。セクション6.1.2.3「パスワードおよびロギング」を参照してください。

    このオプションは MySQL 5.6.3 で追加されました。

  • --log-short-format

    プロパティ
    コマンド行形式 --log-short-format
    ブール
    デフォルト FALSE

    バイナリログおよびスロークエリーログがアクティブ化されている場合、これらのログに記録する情報を少なくします。

  • --log-slow-admin-statements

    プロパティ
    コマンド行形式 --log-slow-admin-statements (<= 5.6.10)
    削除 5.6.11
    ブール
    デフォルト OFF

    スロークエリーログに書き込まれるステートメントにスロー管理ステートメントを含めます。管理ステートメントには、ALTER TABLEANALYZE TABLECHECK TABLECREATE INDEXDROP INDEXOPTIMIZE TABLE、および REPAIR TABLE が含まれます。

    このコマンド行オプションは MySQL 5.6.11 で削除され、log_slow_admin_statements システム変数によって置き換えられました。システム変数はオプションと同じ方法でコマンド行またはオプションファイルに設定できるため、サーバー起動時に何らかの変更を行う必要はありませんが、システム変数は実行時に値を検査または設定することも可能です。

  • --log-slow-queries[=file_name]

    プロパティ
    コマンド行形式 --log-slow-queries[=name]
    非推奨 はい (removed in 5.6.1); use slow-query-log instead
    システム変数 log_slow_queries
    スコープ グローバル
    動的 はい
    ブール

    --log-slow-queries オプションは MySQL 5.6.1 で (log_slow_queries システム変数と一緒に) 削除されました。代わりに、スロークエリーログを有効にするには --slow_query_log オプションを使用し、スロークエリーログファイル名を設定するには --slow_query_log_file=file_name オプションを使用してください。

  • --log-tc=file_name

    プロパティ
    コマンド行形式 --log-tc=file_name
    ファイル名
    デフォルト tc.log

    メモリーマップ済みのトランザクションコーディネータログファイルの名前 (バイナリログが無効のときに複数のストレージエンジンに影響する XA トランザクション用)。デフォルト名は tc.log です。フルパス名が指定されない場合、ファイルはデータディレクトリの下に作成されます。現在このオプションは使用されていません。

  • --log-tc-size=size

    プロパティ
    コマンド行形式 --log-tc-size=#
    数値
    デフォルト 24576
    最大値 (64 ビットプラットフォーム) 18446744073709551615
    最大値 (32 ビットプラットフォーム) 4294967295

    メモリーマップ済みのトランザクションコーディネータログのバイト単位のサイズ。デフォルトサイズは 24K バイトです。

  • --log-warnings[=level], -W [level]

    プロパティ
    コマンド行形式 --log-warnings[=#]
    システム変数 log_warnings
    スコープ (>= 5.6.4) グローバル
    スコープ (<= 5.6.3) グローバル、セッション
    動的 はい
    数値
    デフォルト 1
    最小値 0
    最大値 (64 ビットプラットフォーム) 18446744073709551615
    最大値 (32 ビットプラットフォーム) 4294967295

    「Aborted connection...」などの警告をエラーログに出力します。このオプションは、デフォルトで有効 (1) になっています。これを無効にするには、--log-warnings=0 を使用します。level 値を付けずにオプションを指定すると、現在の値が 1 増加します。レプリケーションを使用するなどの場合は、このオプションを 0 より大きく設定して有効にすることを推奨します (ネットワーク障害や再接続についてのメッセージなど、発生中の詳細情報を受け取ります)。値が 1 より大きい場合、中止された接続がエラーログに書き込まれ、新しい接続の試行についてのアクセス拒否エラーが書き込まれます。セクションB.5.2.11「通信エラーおよび中止された接続」を参照してください。

    スレーブサーバーが --log-warnings を有効にして起動された場合、スレーブは、スレーブのステータスに関する情報を提供するためのメッセージをエラーログに出力し、この情報には、スレーブがジョブを開始したときのバイナリログおよびリレーログの座標、別のリレーログに切り替える時期、切断後に再接続する時期などがあります。--log-warnings が 0 より大きい場合、サーバーはステートメントベースのロギングについて、安全ではないステートメントに関するメッセージをログに記録します。

  • --low-priority-updates

    プロパティ
    コマンド行形式 --low-priority-updates
    システム変数 low_priority_updates
    スコープ グローバル、セッション
    動的 はい
    ブール
    デフォルト FALSE

    テーブル変更操作 (INSERTREPLACEDELETEUPDATE) に、選択よりも低い優先順位を与えます。これは {INSERT | REPLACE | DELETE | UPDATE} LOW_PRIORITY ... を使用して 1 つのクエリーのみ優先順位を下げたり、SET LOW_PRIORITY_UPDATES=1 によって 1 つのスレッドの優先順位を変更したりして実行することもできます。これは、テーブルレベルロックのみを使用するストレージエンジン (MyISAMMEMORYMERGE) にのみ影響を与えます。セクション8.10.2「テーブルロックの問題」を参照してください。

  • --min-examined-row-limit=number

    プロパティ
    コマンド行形式 --min-examined-row-limit=#
    システム変数 min_examined_row_limit
    スコープ グローバル、セッション
    動的 はい
    数値
    デフォルト 0
    最小値 0
    最大値 (64 ビットプラットフォーム) 18446744073709551615
    最大値 (32 ビットプラットフォーム) 4294967295

    このオプションを設定すると、number 行より少ない行を検査するクエリーがスロークエリーログに書き込まれません。デフォルトは 0 です。

  • --memlock

    プロパティ
    コマンド行形式 --memlock
    ブール
    デフォルト FALSE

    メモリー内の mysqld プロセスをロックします。このオプションは、オペレーティングシステムによって mysqld がディスクへのスワップを実行するという問題がある場合に役立つことがあります。

    --memlock は、mlockall() システムコールをサポートするシステム上で機能し、システムには、Solaris、2.4 またはそれより新しいカーネルを使用するほとんどの Linux 配布、およびその他の UNIX システムが含まれます。Linux システムの場合、mlockall() (およびこのオプション) が、システムの mman.h ファイルで定義されているかどうかを次のようにして確認することによって、これがサポートされているかどうかを識別できます。

    shell> grep mlockall /usr/include/sys/mman.h

    mlockall() がサポートされている場合、前のコマンドの出力に、次のように表示されます。

    extern int mlockall (int __flags) __THROW;
    重要

    このオプションを使用する場合、サーバーを root として実行することが必要な場合もあり、これはセキュリティー上の理由から通常はよい考えではありません。セクション6.1.5「MySQL を通常ユーザーとして実行する方法」を参照してください。

    Linux およびおそらくその他のシステムでは、limits.conf ファイルを変更することによって、サーバーを root として実行しないで済みます。セクション8.11.4.2「ラージページのサポートの有効化」の memlock 制限に関するメモを参照してください。

    mlockall() システムコールをサポートしないシステムでは、このオプションを使用しないでください。これを行うと、mysqld は開始してすぐに高い確率でクラッシュします。

  • --myisam-block-size=N

    プロパティ
    コマンド行形式 --myisam-block-size=#
    数値
    デフォルト 1024
    最小値 1024
    最大値 16384

    MyISAM インデックスページに使用するブロックサイズ。

  • --myisam-recover-options[=option[,option]...]]

    プロパティ
    コマンド行形式 --myisam-recover-options[=name]
    列挙
    デフォルト OFF
    有効な値

    OFF

    DEFAULT

    BACKUP

    FORCE

    QUICK

    MyISAM のストレージエンジンのリカバリモードを設定します。オプション値は、OFFDEFAULTBACKUPFORCE、または QUICK の任意の組み合わせです。複数の値を指定する場合、値をカンマで区切ります。オプションに引数を指定しないことは DEFAULT を指定するのと同じで、明示的な値 "" を指定するとリカバリが無効になります (値 OFF と同じ)。リカバリが有効な場合、mysqldMyISAM テーブルをオープンするたび、テーブルがクラッシュしたというマークが付いているか、テーブルが正しくクローズしなかったかどうかをチェックします。(最後のオプションは外部ロックを無効にして実行している場合のみ機能します。)このような場合、mysqld はテーブル上でチェックを実行します。テーブルが破損していた場合、mysqld は修復を試みます。

    次のオプションは修復の動作方法に影響します。

    オプション 説明
    OFF リカバリなし。
    DEFAULT バックアップ、強制、クイックチェックを行わないリカバリ。
    BACKUP データファイルがリカバリ中に変更された場合、tbl_name.MYD ファイルのバックアップを tbl_name-datetime.BAK として保存します。
    FORCE .MYD ファイルから複数のレコードがなくなる場合でもリカバリを実行します。
    QUICK 削除ブロックがない場合、テーブルの行をチェックしません。

    サーバーがテーブルを自動的に修復する前に、サーバーは修復に関するメモをエラーログに書き込みます。ユーザーが介入せずにほとんどの問題をリカバリできるようにするには、BACKUP,FORCE オプションを使用します。これにより、一部の行が削除される場合でもテーブルの修復を強制しますが、古いデータファイルをバックアップとして保持しているため、何が発生したかをあとで検査できます。

    セクション15.2.1「MyISAM 起動オプション」を参照してください。

  • --no-defaults

    オプションファイルを読み取りません。オプションファイルから不明のオプションを読み取ることが原因でプログラムの起動に失敗する場合、--no-defaults を使用して、オプションを読み取らないようにできます。

    例外として、.mylogin.cnf ファイルは、存在する場合はすべての場合に読み取られます。これにより、--no-defaults が使用されたとしても、コマンド行よりも安全な方法でパスワードを指定できます (.mylogin.cnfmysql_config_editor ユーティリティーによって作成されます。セクション4.6.6「mysql_config_editor — MySQL 構成ユーティリティー」を参照してください)。

  • --old-alter-table

    プロパティ
    コマンド行形式 --old-alter-table
    システム変数 old_alter_table
    スコープ グローバル、セッション
    動的 はい
    ブール
    デフォルト OFF

    このオプションが指定された場合、サーバーは ALTER TABLE 操作の処理の最適化された方式を使用しません。一時テーブルの使用に戻り、データのコピー後、MySQL 5.0 以前で使用されていたように、一時テーブルを元のテーブルの名前に変更します。ALTER TABLE の操作について詳しくは、セクション13.1.7「ALTER TABLE 構文」を参照してください。

  • --old-style-user-limits

    プロパティ
    コマンド行形式 --old-style-user-limits
    ブール
    デフォルト FALSE

    古いスタイルのユーザー制限を有効にします。(MySQL 5.0.3 以前では、アカウントリソースは、user テーブルのアカウント行単位ではなく、ユーザーが接続したホストごとに別々にカウントされていました。)セクション6.3.4「アカウントリソース制限の設定」を参照してください。

  • --one-thread

    プロパティ
    コマンド行形式 --one-thread
    削除 5.6.1

    このオプションは MySQL 5.6.1 で削除されました。代わりに --thread_handling=no-threads を使用してください。

  • --open-files-limit=count

    プロパティ
    コマンド行形式 --open-files-limit=#
    システム変数 open_files_limit
    スコープ グローバル
    動的 いいえ
    数値
    デフォルト (>= 5.6.8) 5000, with possible adjustment
    デフォルト (<= 5.6.7) 0
    最小値 0
    最大値 platform dependent

    mysqld で使用可能なファイルディスクリプタの数を変更します。mysqld「Too many open files」のエラーを出す場合、このオプションの値を増やしてみてください。mysqld はこのオプション値を使用して、setrlimit() でディスクリプタを予約します。内部的には、このオプションの最大値は符号なし整数値の最大値ですが、実際の最大値はプラットフォームに依存します。リクエストされた数のファイルディスクリプタを割り当てできない場合、mysqld はエラーログに警告を書き込みます。

    mysqld は、max_connections および table_open_cache の値を使用して、さらに多くのディスクリプタが必要かどうかを推定し、(利用可能な場合は) リクエストされた数のディスクリプタよりも多くを割り当てようとする場合もあります。

    UNIX の場合、値を ulimit -n より少なく設定できません。

  • --partition[=value]

    プロパティ
    コマンド行形式 --partition
    無効化 skip-partition
    ブール
    デフォルト ON

    MySQL Server サーバーのユーザー定義のパーティショニングサポートを有効または無効にします。

  • --performance-schema-xxx

    パフォーマンススキーマオプションを構成します。詳細については、セクション22.11「パフォーマンススキーマコマンドオプション」を参照してください。

  • --pid-file=path

    プロパティ
    コマンド行形式 --pid-file=file_name
    システム変数 pid_file
    スコープ グローバル
    動的 いいえ
    ファイル名

    プロセス ID ファイルのパス名。サーバーは、別のディレクトリを指定する絶対パス名が指定されないかぎり、データディレクトリ内にファイルを作成します。このファイルは、mysqld_safe などの別のプログラムによってサーバーのプロセス ID を判別するときに使用されます。

  • --plugin-xxx

    サーバープラグインに関するオプションを指定します。たとえば、多くのストレージエンジンはプラグインとして構築でき、そのようなエンジンに対してそれらのオプションを --plugin プリフィクスで指定できます。したがって、InnoDB--innodb_file_per_table オプションを --plugin-innodb_file_per_table のように指定できます。

    有効または無効にできるブールオプションの場合、--skip プリフィクスおよびその他の代替形式もサポートされます (セクション4.2.5「プログラムオプション修飾子」を参照してください)。たとえば、--skip-plugin-innodb_file_per_tableinnodb_file_per_table を無効にします。

    --plugin プリフィクスの理由として、組み込みサーバーオプションとの名前の競合がある場合に、あいまいさを排除してプラグインオプションを指定できるということがあります。たとえば、プラグイン sql に名前を指定し mode オプションを実装するプラグインライターは、オプション名が --sql-mode となることがあり、同じ名前の組み込みオプションと競合します。そのような場合、競合する名前への参照は、組み込みオプション側として解決されます。あいまいさを避けるために、ユーザーはプラグインオプションを --plugin-sql-mode として指定できます。あいまいさの問題を避けるために、プラグインオプションに --plugin プリフィクスを使用することを推奨します。

  • --plugin-load=plugin_list

    プロパティ
    コマンド行形式 --plugin-load=plugin_list
    文字列

    このオプションは、指定されたプラグインを起動時にロードするようサーバーに指示します。オプション値は、セミコロンで区切られた name=plugin_library のペアのリストです。それぞれの name はプラグインの名前で、plugin_library はプラグインコードを含む共有ライブラリの名前です。各ライブラリファイルは、plugin_dir システム変数によって指定されるディレクトリに配置されている必要があります。たとえば、myplug1 および myplug2 という名前のプラグインが、ライブラリファイル myplug1.so および myplug2.so を持つ場合、次のオプションを使用して、これらを起動時にロードします。

    shell> mysqld --plugin-load="myplug1=myplug1.so;myplug2=myplug2.so"

    ここでは引数の前後に引用符が使用されますが、これはセミコロン (;) が一部のコマンドインタプリタによって特殊文字として解釈されるためです。(たとえば UNIX シェルでは、これはコマンド終端記号として扱われます。)

    複数の --plugin-load オプションが指定された場合、最後のオプションのみが使用されます。ロードする追加のプラグインは、--plugin-load-add オプションを使用して指定できます。

    プラグイン名を前に付けずにプラグインライブラリを指定した場合、サーバーはライブラリ内のすべてのプラグインをロードします。

    各プラグインは、mysqld の単一の呼び出しについてのみロードされます。再起動後、--plugin-load をふたたび使用しないかぎり、プラグインはロードされません。これは INSTALL PLUGIN とは対照的で、こちらは mysql.plugins テーブルに項目を追加することで、サーバーが通常起動するたびにプラグインがロードされます。

    通常の起動では、サーバーは mysql.plugins システム変数を読み取ることによって、ロードするプラグインを判別します。サーバーが --skip-grant-tables オプションで起動された場合、サーバーは mysql.plugins テーブルを参照せず、そこにリストされているプラグインをロードしません。--plugin-load により、--skip-grant-tables が指定されている場合でもプラグインのロードを可能にします。--plugin-load は、プラグインを実行時にロードできない構成で、プラグインを起動時にロードできるようにします。

    プラグインのロードについての追加情報は、セクション5.1.8.1「プラグインのインストールおよびアンインストール」を参照してください。

  • --plugin-load-add=plugin_list

    プロパティ
    コマンド行形式 --plugin-load-add=plugin_list
    導入 5.6.3
    文字列

    このオプションは --plugin-load オプションを補完します。--plugin-load-add は、起動時にロードされるプラグインのセットに 1 つまたは複数のプラグインを追加します。引数の形式は --plugin-load と同じです。--plugin-load-add は、大量のプラグインのセットを、長くて扱いにくい単一の --plugin-load 引数として指定しないようにできます。このオプションは MySQL 5.6.3 で追加されました。

    --plugin-load-add--plugin-load がなくても指定できますが、--plugin-load はロードするプラグインのセットをリセットするため、--plugin-load の前に出現するすべての --plugin-load-add は効果がありません。つまり、次のオプションの場合、

    --plugin-load=x --plugin-load-add=y

    上記は次のオプションと同等です。

    --plugin-load="x;y"

    ただし、次のオプションの場合、

    --plugin-load-add=y --plugin-load=x

    上記は次のオプションと同等です。

    --plugin-load=x

    プラグインのロードについての追加情報は、セクション5.1.8.1「プラグインのインストールおよびアンインストール」を参照してください。

  • --port=port_num, -P port_num

    プロパティ
    コマンド行形式 --port=#
    システム変数 port
    スコープ グローバル
    動的 いいえ
    数値
    デフォルト 3306
    最小値 0
    最大値 65535

    TCP/IP 接続を listen するときに使用するポート番号。サーバーが root システムユーザーで開始されている場合を除き、ポート番号は 1024 以上にする必要があります。

  • --port-open-timeout=num

    プロパティ
    コマンド行形式 --port-open-timeout=#
    数値
    デフォルト 0

    一部のシステムでは、サーバーが停止すると、TCP/IP ポートがただちに利用できなくなることがあります。その後すぐにサーバーを再起動した場合、サーバーがポートをふたたびオープンしようとして失敗することがあります。このオプションは、TCP/IP ポートを開くことができない場合、TCP/IP ポートが開放されるまでサーバーが待機する秒数を指示します。デフォルトでは待機しません。

  • --print-defaults

    プログラム名と、オプションファイルから受け取るすべてのオプションを出力します。

  • --remove [service_name]

    プロパティ
    コマンド行形式 --remove [service_name]
    プラットフォーム固有 Windows

    (Windows のみ) MySQL Windows サービスを削除します。service_name の値が指定されない場合、デフォルトサービス名は MySQL です。詳細については、セクション2.3.5.7「Windows のサービスとして MySQL を起動する」を参照してください。

  • --safe-mode

    プロパティ
    コマンド行形式 --safe-mode
    非推奨 はい (removed in 5.6.6)

    一部の最適化ステージをスキップします。このオプションは MySQL 5.6.6 で削除されました。

  • --safe-user-create

    プロパティ
    コマンド行形式 --safe-user-create
    ブール
    デフォルト FALSE

    このオプションが有効な場合、ユーザーが mysql.user テーブルまたはテーブル内の任意のカラムに対して INSERT 権限を持つ場合を除き、ユーザーは GRANT ステートメントを使用して新しい MySQL ユーザーを作成できません。あるユーザーが新規ユーザーを作成する能力を持ち、そのユーザーが付与する権利を持つ権限を、新規ユーザーが持つようにするには、そのユーザーに次の権限を付与します。

    GRANT INSERT(user) ON mysql.user TO 'user_name'@'host_name';

    これで、ユーザーは権限カラムを直接変更できませんが、GRANT ステートメントを使用してほかのユーザーに権限を与えることができるようになります。

  • --secure-auth

    プロパティ
    コマンド行形式 --secure-auth
    システム変数 secure_auth
    スコープ グローバル
    動的 はい
    ブール
    デフォルト (>= 5.6.5) ON
    デフォルト (<= 5.6.4) OFF

    このオプションにより、サーバーは、古い (4.1 以前の) 形式で格納されているパスワードを持つアカウントを使用しようとする、クライアントによる接続をブロックします。古い形式を用いたすべてのパスワードの使用 (ネットワーク上でのセキュアでない通信) を防ぐために、これを使用します。MySQL 5.6.5 以前では、このオプションはデフォルトで無効になっています。MySQL 5.6.5 以降では、これはデフォルトで有効になっています。これを無効にするには、--skip-secure-auth を使用します。

    このオプションが有効になっていて、権限テーブルが 4.1 以前の形式の場合、サーバーの起動が失敗してエラーが出ます。セクションB.5.2.4「クライアントは認証プロトコルに対応できません」を参照してください。

    mysql クライアントにも --secure-auth オプションがあり、これはサーバーがそのクライアントアカウントに対して古い形式のパスワードを要求する場合にサーバーに接続しないようにします。

    注記

    4.1 より前のハッシュ方式を使用するパスワードはネイティブのパスワードハッシュ方式を使用するパスワードよりもセキュアでないため、使用しないようにしてください。4.1 よりも前のパスワードは非推奨であり、これらのサポートは今後の MySQL リリースで削除される予定です。これにより、--skip-secure-auth を使用したセキュア認証の無効化も非推奨になります。

  • --secure-file-priv=path

    プロパティ
    コマンド行形式 --secure-file-priv=path
    システム変数 secure_file_priv
    スコープ グローバル
    動的 いいえ
    文字列

    このオプションは、LOAD_FILE() 関数と LOAD DATA および SELECT ... INTO OUTFILE ステートメントの効果を制限し、指定されたディレクトリ内のファイルにのみ作用します。

  • --shared-memory

    プロパティ
    コマンド行形式 --shared-memory-base-name=name
    システム変数 shared_memory
    スコープ グローバル
    動的 いいえ
    プラットフォーム固有 Windows

    ローカルクライアントによる共有メモリー接続を有効にします。このオプションは Windows でのみ使用できます。

  • --shared-memory-base-name=name

    プロパティ
    システム変数 shared_memory_base_name
    スコープ グローバル
    動的 いいえ
    プラットフォーム固有 Windows

    共有メモリー接続に使用する共有メモリーの名前。このオプションは Windows でのみ使用できます。デフォルト名は MYSQL です。名前は大文字と小文字を区別します。

  • --skip-concurrent-insert

    MyISAM テーブルに対する SELECT 文と INSERT 文の同時実行を無効化します。(これは、この機能にバグが見つかったと思われる場合のみ使用します。)セクション8.10.3「同時挿入」を参照してください。

  • --skip-event-scheduler

    プロパティ
    コマンド行形式

    --skip-event-scheduler

    --disable-event-scheduler

    イベントスケジューラを OFF にします。これは、--event-scheduler=DISABLED の設定が必要なイベントスケジューラの無効化と同じではありません。詳細については、「--event-scheduler オプション」を参照してください。

  • --skip-grant-tables

    このオプションにより、サーバーは権限システムをまったく使用せずに開始され、サーバーへのアクセス権を持つすべてのユーザーにすべてのデータベースに対する無制限アクセス権が与えられます。サーバー実行中に、付与テーブルの行使を再開するには、mysqladmin flush-privileges または mysqladmin reload コマンドをシステムシェルから実行するか、サーバーへの接続後に MySQL FLUSH PRIVILEGES ステートメントを発行します。このオプションは、INSTALL PLUGIN ステートメント、ユーザー定義関数 (UDF)、およびスケジュールされたイベントでインストールされたプラグインのロードも抑制します。プラグインをロードするには、--plugin-load オプションを使用します。

    FLUSH PRIVILEGES は起動後に実行されるほかのアクションによって暗黙的に実行される場合があります。たとえば、mysql_upgrade はアップグレード手続き中に権限をフラッシュします。

  • --skip-host-cache

    名前と IP の解決を高速化するために内部ホストキャッシュの使用を無効にします。この場合、サーバーはクライアントが接続するたびに DNS ルックアップを実行します。セクション8.11.5.2「DNS ルックアップの最適化とホストキャッシュ」を参照してください。

    --skip-host-cache の使用は host_cache_size システム変数を 0 に設定することに似ていますが、host_cache_size の方が柔軟性が高く、これはサーバー起動時だけでなく実行時にもホストキャッシュのサイズを変更したり有効化または無効化したりするために使用できるためです。

    --skip-host-cache を指定してサーバーを開始しても、host_cache_size の値の変更を妨げるわけではありませんが、この変更は効果がなく、host_cache_size を 0 より大きく設定してもキャッシュはふたたび有効化されません。

  • --skip-innodb

    InnoDB ストレージエンジンを無効にします。この場合、デフォルトのストレージエンジンは InnoDB であるため、--default-storage-engine および --default-tmp-storage-engine を使用して、永続テーブルと TEMPORARY テーブルの両方についてデフォルトを別のエンジンに設定しないかぎりサーバーは開始しません。

    MySQL 5.6.21 以降では、--skip-innodb オプションは非推奨です。これを使用すると警告が出ます。このオプションは今後の MySQL リリースで削除されます。

  • --skip-name-resolve

    クライアント接続を検査するときにホスト名を解決しません。IP アドレスのみを使用します。このオプションを使用する場合、付与テーブルのすべての Host カラムの値は IP アドレスまたは localhost である必要があります。セクション8.11.5.2「DNS ルックアップの最適化とホストキャッシュ」を参照してください。

    システムのネットワーク構成およびアカウントの Host 値によっては、クライアントは --host=localhost--host=127.0.0.1--host=::1 などの明示的な --host オプションを使用して接続する必要がある場合もあります。

  • --skip-networking

    TCP/IP 接続を listen しません。mysqld とのすべての対話は、名前付きパイプまたは共有メモリー (Windows の場合) または UNIX ソケットファイル (UNIX の場合) を使用して行う必要があります。このオプションは、ローカルクライアントのみが許可されているシステムで強く推奨します。セクション8.11.5.2「DNS ルックアップの最適化とホストキャッシュ」を参照してください。

  • --skip-partition

    プロパティ
    コマンド行形式

    --skip-partition

    --disable-partition

    ユーザー定義のパーティショニングを無効にします。パーティション化されたテーブルは、SHOW TABLES を使用するか、INFORMATION_SCHEMA.TABLES テーブルを照会することで表示できますが、作成または変更することはできず、そのようなテーブルのデータにアクセスすることもできません。INFORMATION_SCHEMA.PARTITIONS テーブル内のパーティション固有のすべてのカラムには NULL が表示されます。

    DROP TABLE によってテーブル定義 (.frm) ファイルが削除されるため、このオプションを使用してパーティショニングが無効化されていても、このステートメントはパーティション化されたテーブルで機能します。ただしこのような場合、このステートメントはパーティション化されたテーブルに関連付けられた .par ファイルを削除しません。このため、パーティショニングを無効化したパーティション化されたテーブルをドロップしないようにするか、孤立した .par ファイルを手動で削除してください。

  • --ssl*

    --ssl で始まるオプションは、クライアントが SSL を使用して接続することを許可するかどうかを指定し、SSL 鍵および証明書を見つける場所を指定します。セクション6.3.10.4「SSL コマンドのオプション」を参照してください。

  • --standalone

    プロパティ
    コマンド行形式 --standalone
    プラットフォーム固有 Windows

    Windows でのみ使用可能で、MySQL Server にサービスとして実行しないよう指示します。

  • --super-large-pages

    プロパティ
    コマンド行形式 --super-large-pages
    プラットフォーム固有 Solaris
    ブール
    デフォルト FALSE

    MySQL での標準的な大規模ページの使用では、サポートされる最大サイズである 4M バイトまでの使用が試行されます。Solaris では超大規模ページ機能により 256M バイトまでのページの使用が可能です。この機能は最新の SPARC プラットフォームで使用できます。これは --super-large-pages または --skip-super-large-pages オプションを使用して有効または無効にできます。

  • --symbolic-links--skip-symbolic-links

    プロパティ
    コマンド行形式 --symbolic-links

    シンボリックリンクサポートを有効または無効にします。このオプションは、Windows と UNIX で異なる効果になります。

    • Windows では、シンボリックリンクを有効にすることで、実際のディレクトリへのパスを含む db_name.sym ファイルを作成することによって、データベースディレクトリへのシンボリックリンクを確立できます。セクション8.11.3.1.3「Windows 上のデータベースへのシンボリックリンクの使用」を参照してください。

    • UNIX では、シンボリックリンクを有効にすることは、CREATE TABLE ステートメントの INDEX DIRECTORY または DATA DIRECTORY オプションを使用して MyISAM インデックスファイルまたはデータファイルを別のディレクトリにリンクできることを意味します。テーブルを削除したり名前変更したりすると、そのシンボリックリンクが指定するファイルも削除されたり名前が変更されたりします。セクション8.11.3.1.2「Unix 上の MyISAM へのシンボリックリンクの使用」を参照してください。

  • --skip-show-database

    プロパティ
    コマンド行形式 --skip-show-database
    システム変数 skip_show_database
    スコープ グローバル
    動的 いいえ

    このオプションは、SHOW DATABASES ステートメントを使用することが許可されているユーザーを制御する skip_show_database システム変数を設定します。セクション5.1.4「サーバーシステム変数」を参照してください。

  • --skip-stack-trace

    プロパティ
    コマンド行形式 --skip-stack-trace

    スタックトレースを書き込みません。このオプションは、デバッガで mysqld を実行するときに役立ちます。一部のシステムでは、コアファイルを取得するために、このオプションの使用が必要になることもあります。セクション24.4「MySQL のデバッグおよび移植」 を参照してください。

  • --skip-thread-priority

    プロパティ
    コマンド行形式 --skip-thread-priority
    非推奨 はい (removed in 5.6.1)

    応答速度を高めるために、スレッド優先順位の使用を無効にします。このオプションは使用されておらず、MySQL 5.6.1 で削除されました。

  • --slow-query-log[={0|1}]

    プロパティ
    コマンド行形式 --slow-query-log
    システム変数 slow_query_log
    スコープ グローバル
    動的 はい
    ブール
    デフォルト OFF

    スロークエリーログの初期状態を指定します。引数がないか引数が 1 の場合、--slow-query-log オプションはログを使用可能にします。省略されるか引数が 0 の場合、オプションはログを使用不可にします。

  • --slow-start-timeout=timeout

    プロパティ
    コマンド行形式 --slow-start-timeout=#
    導入 5.6.5
    数値
    デフォルト 15000

    このオプションは、Windows サービスコントロールマネージャーのサービス開始タイムアウトを制御します。この値は、起動時に Windows サービスを強制終了する前に、サービスコントロールマネージャーが待機する最大のミリ秒数です。デフォルト値は 15000 (15 秒) です。MySQL サービスの開始に時間がかかりすぎる場合、この値を増やすことが必要なこともあります。値 0 は、タイムアウトがないことを意味します。

  • --socket=path

    プロパティ
    コマンド行形式 --socket=file_name
    システム変数 socket
    スコープ グローバル
    動的 いいえ
    ファイル名
    デフォルト /tmp/mysql.sock

    UNIX の場合、このオプションは、ローカル接続用の listen を行うときに使用する UNIX ソケットファイルを指定します。デフォルト値は /tmp/mysql.sock です。このオプションが指定された場合、別のディレクトリを指定する絶対パス名が指定されないかぎり、サーバーはデータディレクトリにファイルを作成します。Windows の場合、このオプションは、名前付きパイプを使用する、ローカル接続用の listen を行うときに使用するパイプ名を指定します。デフォルト値は MySQL です (大文字小文字の区別はありません)。

  • --sql-mode=value[,value[,value...]]

    プロパティ
    コマンド行形式 --sql-mode=name
    システム変数 sql_mode
    スコープ グローバル、セッション
    動的 はい
    セット
    デフォルト (>= 5.6.6) NO_ENGINE_SUBSTITUTION
    デフォルト (<= 5.6.5) ''
    有効な値

    ALLOW_INVALID_DATES

    ANSI_QUOTES

    ERROR_FOR_DIVISION_BY_ZERO

    HIGH_NOT_PRECEDENCE

    IGNORE_SPACE

    NO_AUTO_CREATE_USER

    NO_AUTO_VALUE_ON_ZERO

    NO_BACKSLASH_ESCAPES

    NO_DIR_IN_CREATE

    NO_ENGINE_SUBSTITUTION

    NO_FIELD_OPTIONS

    NO_KEY_OPTIONS

    NO_TABLE_OPTIONS

    NO_UNSIGNED_SUBTRACTION

    NO_ZERO_DATE

    NO_ZERO_IN_DATE

    ONLY_FULL_GROUP_BY

    PAD_CHAR_TO_FULL_LENGTH

    PIPES_AS_CONCAT

    REAL_AS_FLOAT

    STRICT_ALL_TABLES

    STRICT_TRANS_TABLES

    SQL モードを設定します。MySQL 5.6.6 より前では、デフォルトは '' (空の文字列) でしたが、MySQL 5.6.6 以降では、デフォルトは NO_ENGINE_SUBSTITUTION です。セクション5.1.7「サーバー SQL モード」を参照してください。

    注記

    MySQL インストールプログラムはインストールプロセス中に SQL モードを構成することがあります。たとえば、mysql_install_db は、my.cnf という名前のデフォルトオプションファイルを基本インストールディレクトリに作成します。このファイルには、SQL モードを設定する行が含まれています。セクション4.4.3「mysql_install_db — MySQL データディレクトリの初期化」を参照してください。

    SQL モードがデフォルトまたは期待されているモードと異なる場合、サーバーが起動時に読み取るオプションファイル内の設定を確認してください。

  • --sysdate-is-now

    プロパティ
    コマンド行形式 --sysdate-is-now
    ブール
    デフォルト FALSE

    デフォルトの SYSDATE() は、この関数があるステートメントの実行が開始された時間ではなく、この関数が実行された時間を返します。これは NOW() の動作と異なります。このオプションによって、SYSDATE()NOW() のエイリアスにできます。バイナリロギングおよびレプリケーションに対する意味については、セクション12.7「日付および時間関数」SYSDATE() および セクション5.1.4「サーバーシステム変数」SET TIMESTAMP についての説明を参照してください。

  • --tc-heuristic-recover={COMMIT|ROLLBACK}

    プロパティ
    コマンド行形式 --tc-heuristic-recover=name
    列挙
    デフォルト COMMIT
    有効な値

    COMMIT

    ROLLBACK

    経験則によるリカバリプロセスで使用する決定のタイプ。現在このオプションは使用されていません。

  • --temp-pool

    プロパティ
    コマンド行形式 --temp-pool
    ブール
    デフォルト TRUE

    このオプションにより、サーバーによって作成されるほとんどの一時ファイルが、新規ファイルごとに一意の名前を使用するのではなく、少数の名前のセットを使用するようになります。これは、異なる名前で多くの新規ファイルの作成を処理する Linux カーネルでの問題を回避します。Linux では、メモリーがディスクキャッシュではなくディレクトリエントリキャッシュへの割り当てになるため、従来の動作ではメモリーのリークが発生しがちです。このオプションは Linux 以外では無視されます。

  • --transaction-isolation=level

    プロパティ
    コマンド行形式 --transaction-isolation=name
    列挙
    デフォルト REPEATABLE-READ
    有効な値

    READ-UNCOMMITTED

    READ-COMMITTED

    REPEATABLE-READ

    SERIALIZABLE

    デフォルトのトランザクション分離レベルを設定します。level 値は、READ-UNCOMMITTEDREAD-COMMITTEDREPEATABLE-READ、または SERIALIZABLE に設定できます。セクション13.3.6「SET TRANSACTION 構文」を参照してください。

    デフォルトのトランザクション分離レベルは SET TRANSACTION ステートメントを使用するか、tx_isolation システム変数を設定することによって実行時にも設定できます。

  • --transaction-read-only

    プロパティ
    コマンド行形式 --transaction-read-only
    導入 5.6.5
    ブール
    デフォルト OFF

    デフォルトのトランザクションアクセスモードを設定します。デフォルトでは読み取り専用モードが無効化されているため、モードは読み取り/書き込みです。

    デフォルトのトランザクションアクセスモードを実行時に設定するには、SET TRANSACTION ステートメントを使用するか、tx_read_only システム変数を設定します。セクション13.3.6「SET TRANSACTION 構文」を参照してください。

    このオプションは MySQL 5.6.5 で追加されました。

  • --tmpdir=path, -t path

    プロパティ
    コマンド行形式 --tmpdir=path
    システム変数 tmpdir
    スコープ グローバル
    動的 いいえ
    ディレクトリ名

    一時ファイルを作成するために使用するディレクトリのパス。これは、小さすぎて一時テーブルを保持できないパーティション上にデフォルトの /tmp ディレクトリがある場合に役立つことがあります。このオプションは、ラウンドロビン方式で使用されるいくつかのパスを受け入れます。パスは UNIX ではコロン文字 (:)、Windows ではセミコロン文字 (;) で区切るようにしてください。MySQL Server がレプリケーションスレーブとして動作する場合、--tmpdir を、メモリーベースのファイルシステム上のディレクトリや、サーバーホストが再起動したときにクリアされるディレクトリに指定するように設定しないでください。一時ファイルのストレージ位置に関しては、セクションB.5.4.4「MySQL が一時ファイルを格納する場所」を参照してください。レプリケーションスレーブは、一部の一時ファイルがマシンの再起動後も存続し、一時テーブルまたは LOAD DATA INFILE 操作を複製できるようにする必要があります。サーバーが再起動したときに一時ファイルディレクトリ内のファイルが消失した場合、レプリケーションは失敗します。

  • --user={user_name|user_id}, -u {user_name|user_id}

    プロパティ
    コマンド行形式 --user=name
    文字列

    mysqld サーバーを、名前 user_name または数字ユーザー ID user_id を持つユーザーとして実行します。(このコンテキストでのユーザーは、システムログインアカウントであり、付与テーブルにリストされている MySQL ユーザーではありません。)

    mysqldroot として起動する場合、このオプションは必須です。サーバーは起動シーケンス中にそのユーザー ID を変更し、root ではなく特定のユーザーでこれを実行します。セクション6.1.1「セキュリティーガイドライン」を参照してください。

    セキュリティーホールを回避するため、つまりユーザーが --user=root オプションを my.cnf ファイルに追加することが原因で、サーバーが root として稼働できないようにするために、mysqld で最初に指定した --user オプションだけを使用し、複数の --user オプションがあった場合に警告を生成します。/etc/my.cnf および $MYSQL_HOME/my.cnf 内のオプションは、コマンド行のオプションより先に処理することになるため、--user オプションを /etc/my.cnf に含めた上で、root 以外の値を指定することを推奨します。/etc/my.cnf 内のオプションがほかの --user オプションよりも先に検出されることになるので、サーバーは確実に root 以外のユーザーとして実行することになり、別の --user オプションが検出されると警告を出します。

  • --verbose, -v

    詳細なヘルプを得るには、このオプションを --help オプションと一緒に使用します。

  • --version, -V

    バージョン情報を表示して終了します。

--var_name=value の形式のオプションを使用して、サーバーシステム変数に値を割り当てることができます。たとえば、--key_buffer_size=32Mkey_buffer_size 変数を 32M バイトの値に設定できます。

変数に値を割り当てた場合、MySQL は特定の範囲内にとどまるようにするために値を自動的に修正したり、特定の値のみが許可されていたりする場合は許容できるもっとも近い値に値を調整します。

実行時に SET で変数を設定可能な最大値を制限するには、--maximum-var_name=value コマンド行オプションを使用してこれを定義できます。

SET ステートメントを使用して、実行中のサーバーについてのほとんどのシステム変数の値を変更できます。セクション13.7.4「SET 構文」を参照してください。

すべての変数の詳細に加え、サーバーの起動時や実行時にこれらの設定に関する追加情報は、セクション5.1.4「サーバーシステム変数」を参照してください。システム変数の調整によるサーバーの最適化に関する情報は、セクション8.11.2「サーバーパラメータのチューニング」を参照してください。