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 を使用します。
次に、もっとも一般的なサーバーオプションの一部を示します。その他のオプションは、ほかのセクションに記載されています。
セキュリティーに影響するオプション。セクション6.1.4「セキュリティー関連の mysqld オプションおよび変数」を参照してください。
SSL 関連オプション。セクション6.3.10.4「SSL コマンドのオプション」を参照してください。
バイナリログ制御オプション。セクション5.2.4「バイナリログ」を参照してください。
レプリケーション関連オプション。セクション17.1.4「レプリケーションおよびバイナリロギングのオプションと変数」を参照してください。
プラガブルストレージエンジンなどのプラグインをロードするためのオプション。セクション5.1.8.1「プラグインのインストールおよびアンインストール」を参照してください。
特定のストレージエンジンに固有のオプション。セクション14.12「InnoDB の起動オプションおよびシステム変数」およびセクション15.2.1「MyISAM 起動オプション」を参照してください。
また、このセクションの最後に記載されているように、サーバーシステム変数の値を設定するとき、変数名をオプションとして使用することもできます。
一部のオプションはバッファーまたはキャッシュのサイズを制御します。所定のバッファーについて、サーバーは内部データ構造を割り当てる必要がある場合もあります。これらの構造は、バッファーに割り当てられた合計メモリーから割り当てられ、必要なスペースの量はプラットフォームに依存することがあります。つまり、バッファーサイズを制御するオプションに値を割り当てたとき、実際に使用可能なスペースの量が、割り当てられた値と異なる場合もあることを意味します。一部の場合では、この量は割り当てられた値より少ないこともあります。また、サーバーが値を上方に調整することも考えられます。たとえば、最小値が 1024 のオプションに値 0 を割り当てた場合、サーバーは値を 1024 に設定します。
バッファーサイズ、長さ、およびスタックサイズの値は、別途指定しないかぎりバイト単位で指定されます。
一部のオプションはファイル名の値を取ります。別途指定しないかぎり、値が相対パス名であれば、デフォルトのファイルの場所はデータディレクトリです。場所を明示的に指定するには、絶対パス名を使用します。たとえばデータディレクトリが /var/mysql/data
だとします。ファイル値のオプションが相対パス名として指定された場合、ファイルは /var/mysql/data
の下に配置されます。値が絶対パス名である場合、その場所はパス名によって指定されます。
-
コマンド行形式 --help
短いヘルプメッセージを表示して終了します。詳細メッセージを表示するには、
--verbose
および--help
の両方のオプションを使用します。 -
コマンド行形式 --allow-suspicious-udfs
型 ブール デフォルト FALSE
このオプションは、メイン関数に
xxx
記号のみを持つユーザー定義関数をロードできるかどうかを制御します。デフォルトでは、このオプションはオフで、少なくとも 1 つの補助記号を持つ UDF のみをロードできます。これにより、正当な UDF を含むもの以外の共有オブジェクトファイルから関数をロードしないようにします。セクション24.3.2.6「ユーザー定義関数のセキュリティー上の予防措置」を参照してください。 -
コマンド行形式 --ansi
MySQL 構文の代わりに標準 (ANSI) SQL 構文を使用します。サーバー SQL モードをさらに正確に制御するには、代わりに
--sql-mode
オプションを使用します。セクション1.7「MySQL の標準への準拠」、セクション5.1.7「サーバー SQL モード」を参照してください。 -
コマンド行形式 --basedir=path
システム変数 basedir
スコープ グローバル 動的 いいえ 型 ディレクトリ名 MySQL インストールディレクトリへのパス。すべてのパスは、通常はこのディレクトリを基準として解決されます。
-
コマンド行形式 --big-tables
システム変数 big_tables
スコープ グローバル、セッション 動的 はい 型 ブール デフォルト OFF
すべての一時的セットをファイルに保存することによって、大きい結果セットを有効にします。このオプションによって、ほとんどの 「table full」 エラーを防ぎますが、インメモリーテーブルだけで十分なクエリーの速度が低下します。MySQL 3.23.2 以降では、サーバーは小さい一時テーブルについてはメモリーを使用し、必要な場合にディスクテーブルに切り換えることによって、大きい結果セットを自動的に処理できます。
-
コマンド行形式 --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
このオプションは、MySQL Server 全体を開始させることなく MySQL 特権テーブルを作成するために、mysql_install_db プログラムによって使用されます。
MySQL 5.6.6 以降では、このオプションが使用されるとレプリケーションおよびグローバルトランザクション ID が常に自動的に無効化されます (バグ #1332602)。セクション17.1.3「グローバルトランザクション識別子を使用したレプリケーション」を参照してください。
-
コマンド行形式 --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=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
プラットフォーム固有 Windows (Windows のみ。)このオプションが使用されている場合、エラーログメッセージを
stderr
に書き込み、stdout
. mysqld はコンソールウィンドウを閉じません。--log-error
および--console
の両方が指定されている場合、--log-error
が優先されます。サーバーはログファイルに書き込みますが、コンソールには書き込みません。 -
コマンド行形式 --core-file
型 ブール デフォルト OFF
mysqld が異常終了した場合にコアファイルを作成します。コアファイルの名前および場所はシステムに依存します。Linux の場合、
core.
という名前のコアファイルがプロセスの現在の作業ディレクトリに書き込まれ、これは mysqld のデータディレクトリです。pid
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
システム変数 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,
です。デフォルトは、UNIX の場合はfile_name
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[=#]
型 数値 テストおよびデバッグのための 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
およびGRANT
のIDENTIFIED 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=name
システム変数 default_storage_engine
スコープ グローバル、セッション 動的 はい 型 列挙 デフォルト InnoDB
テーブルのデフォルトストレージエンジンを設定します。第15章「代替ストレージエンジン」を参照してください。MySQL 5.6.3 以降では、このオプションは永続的なテーブルについてのみストレージエンジンを設定します。
TEMPORARY
テーブルについてストレージエンジンを設定するには、default_tmp_storage_engine
システム変数を設定します。サーバー起動時のデフォルトストレージエンジンを無効にした場合、永続テーブルと
TEMPORARY
テーブルの両方のデフォルトエンジンを別のエンジンに設定しなければならず、そうしないとサーバーは起動しません。 -
コマンド行形式 --default-time-zone=name
型 文字列 デフォルトのサーバータイムゾーンを設定します。このオプションは、グローバルな
time_zone
システム変数を設定します。このオプションを指定しない場合、デフォルトのタイムゾーンは、(system_time_zone
システム変数の値によって指定される) システムのタイムゾーンと同一になります。 -
--defaults-extra-file=
file_name
このオプションファイルは、グローバルオプションファイルのあとに読み取りますが、(UNIX では) ユーザーオプションファイルの前に読み取るようにしてください。ファイルが存在しないかアクセスできない場合、エラーが発生します。
file_name
は、フルパス名でなく相対パス名として指定された場合、現行ディレクトリを基準にして解釈されます。 -
指定されたオプションファイルのみ使用します。ファイルが存在しないかアクセスできない場合、エラーが発生します。
file_name
は、フルパス名でなく相対パス名として指定された場合、現行ディレクトリを基準にして解釈されます。 -
通常のオプショングループだけでなく、通常の名前に
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 鍵を読み取ります。これらの鍵は、
DES_ENCRYPT()
およびDES_DECRYPT()
関数によって使用されます。 -
コマンド行形式 --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
スコープ グローバル 動的 はい 型 列挙 デフォルト OFF
有効な値 ON
OFF
DISABLED
イベントスケジューラを有効または無効にし、開始または停止します。
詳細情報については、
--event-scheduler
オプションを参照してください。 -
--exit-info[=
,flags
]-T [
flags
]コマンド行形式 --exit-info[=flags]
型 数値 mysqld サーバーのデバッグに使用できる、複数の異なるフラグのビットマスクです。このオプションを使用するには、完全にこのオプションを理解していることが必要です。
-
コマンド行形式 --external-locking
型 ブール デフォルト FALSE
MySQL 4.0 以降ではデフォルトで無効になった、外部ロック (システムロック) を有効にします。
lockd
が完全には機能しないシステム (Linux など) でこのオプションを使用すると、mysqld がデッドロックしやすくなることに注意してください。外部ロックを明示的に無効にするには、
--skip-external-locking
を使用します。外部ロックは
MyISAM
テーブルアクセスにのみ影響します。使用できるまたはできない状況も含めた詳細情報については、セクション8.10.5「外部ロック」を参照してください。 -
コマンド行形式 --flush
システム変数 flush
スコープ グローバル 動的 はい 型 ブール デフォルト OFF
各 SQL ステートメント後にすべての変更内容をディスクにフラッシュ (同期) します。通常、MySQL では各 SQL ステートメントの終了後にのみすべての変更内容をディスクに書き込み、ディスクへの同期はオペレーティングシステムが処理します。セクションB.5.4.2「MySQL が繰り返しクラッシュする場合の対処方法」を参照してください。
-
コマンド行形式 --gdb
型 ブール デフォルト FALSE
SIGINT
用の割り込みハンドラ (ブレークポイントを設定するための^C
を使用して mysqld を停止するために必要) をインストールし、スタックトレースおよびコアファイルの処理を無効にします。セクション24.4「MySQL のデバッグおよび移植」 を参照してください。 -
コマンド行形式 --general-log
システム変数 general_log
スコープ グローバル 動的 はい 型 ブール デフォルト OFF
一般的なクエリーログの初期状態を指定します。引数がないか引数が 1 の場合、
--general-log
オプションはログを使用可能にします。省略されるか引数が 0 の場合、オプションはログを使用不可にします。 -
コマンド行形式 --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
スコープ グローバル 動的 いいえ 型 ファイル名 起動時にこのファイルから SQL ステートメントを読み取ります。各ステートメントは単一の行にして、コメントを含めなでください。
-
--innodb-
xxx
InnoDB
ストレージエンジンのオプションを設定します。InnoDB
オプションは、セクション14.12「InnoDB の起動オプションおよびシステム変数」にリストされています。 -
コマンド行形式 --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
, -Llang_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
スコープ グローバル 動的 いいえ プラットフォーム固有 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=name
システム変数 lc_messages
スコープ グローバル、セッション 動的 はい 型 文字列 デフォルト en_US
エラーメッセージに使用するロケール。デフォルトは
en_US
です。サーバーは引数を言語名に変換し、これを--lc-messages-dir
の値と組み合わせてエラーメッセージファイルの場所を生成します。セクション10.2「エラーメッセージ言語の設定」を参照してください。 -
コマンド行形式 --lc-messages-dir=dir_name
システム変数 lc_messages_dir
スコープ グローバル 動的 いいえ 型 ディレクトリ名 エラーメッセージが配置されているディレクトリ。サーバーはこの値を
--lc-messages
の値と一緒に使用して、エラーメッセージファイルの場所を生成します。セクション10.2「エラーメッセージ言語の設定」を参照してください。 -
コマンド行形式 --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
スコープ グローバル 動的 いいえ 型 ファイル名 エラーおよび起動メッセージのログをこのファイルに記録します。セクション5.2.2「エラーログ」 を参照してください。ファイル名を省略すると、MySQL は
を使用します。ファイル名に拡張子がない場合、サーバーは拡張子host_name
.err.err
を追加します。 -
コマンド行形式 --log-isam[=file_name]
型 ファイル名 MyISAM
のすべての変更内容をこのファイルに記録します (MyISAM
をデバッグするときだけ使用します)。 -
コマンド行形式 --log-output=name
システム変数 log_output
スコープ グローバル 動的 はい 型 セット デフォルト FILE
有効な値 TABLE
FILE
NONE
このオプションは、一般クエリーログおよびスロークエリーログの出力先を決定します。オプション値は、
TABLE
、FILE
、NONE
の 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[=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
型 ブール デフォルト FALSE
バイナリログおよびスロークエリーログがアクティブ化されている場合、これらのログに記録する情報を少なくします。
-
コマンド行形式 --log-slow-admin-statements
(≤ 5.6.10)削除 5.6.11 型 ブール デフォルト OFF
スロークエリーログに書き込まれるステートメントにスロー管理ステートメントを含めます。管理ステートメントには、
ALTER TABLE
、ANALYZE TABLE
、CHECK TABLE
、CREATE INDEX
、DROP INDEX
、OPTIMIZE 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
型 ファイル名 デフォルト tc.log
メモリーマップ済みのトランザクションコーディネータログファイルの名前 (バイナリログが無効のときに複数のストレージエンジンに影響する XA トランザクション用)。デフォルト名は
tc.log
です。フルパス名が指定されない場合、ファイルはデータディレクトリの下に作成されます。現在このオプションは使用されていません。 -
コマンド行形式 --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
スコープ グローバル、セッション 動的 はい 型 ブール デフォルト FALSE
テーブル変更操作 (
INSERT
、REPLACE
、DELETE
、UPDATE
) に、選択よりも低い優先順位を与えます。これは{INSERT | REPLACE | DELETE | UPDATE} LOW_PRIORITY ...
を使用して 1 つのクエリーのみ優先順位を下げたり、SET LOW_PRIORITY_UPDATES=1
によって 1 つのスレッドの優先順位を変更したりして実行することもできます。これは、テーブルレベルロックのみを使用するストレージエンジン (MyISAM
、MEMORY
、MERGE
) にのみ影響を与えます。セクション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
型 ブール デフォルト 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=#
型 数値 デフォルト 1024
最小値 1024
最大値 16384
MyISAM
インデックスページに使用するブロックサイズ。 -
--myisam-recover-options[=
option
[,option
]...]]コマンド行形式 --myisam-recover-options[=name]
型 列挙 デフォルト OFF
有効な値 OFF
DEFAULT
BACKUP
FORCE
QUICK
MyISAM
のストレージエンジンのリカバリモードを設定します。オプション値は、OFF
、DEFAULT
、BACKUP
、FORCE
、またはQUICK
の任意の組み合わせです。複数の値を指定する場合、値をカンマで区切ります。オプションに引数を指定しないことはDEFAULT
を指定するのと同じで、明示的な値""
を指定するとリカバリが無効になります (値OFF
と同じ)。リカバリが有効な場合、mysqld はMyISAM
テーブルをオープンするたび、テーブルがクラッシュしたというマークが付いているか、テーブルが正しくクローズしなかったかどうかをチェックします。(最後のオプションは外部ロックを無効にして実行している場合のみ機能します。)このような場合、mysqld はテーブル上でチェックを実行します。テーブルが破損していた場合、mysqld は修復を試みます。次のオプションは修復の動作方法に影響します。
オプション 説明 OFF
リカバリなし。 DEFAULT
バックアップ、強制、クイックチェックを行わないリカバリ。 BACKUP
データファイルがリカバリ中に変更された場合、
ファイルのバックアップをtbl_name
.MYD
として保存します。tbl_name-datetime
.BAKFORCE
.MYD
ファイルから複数のレコードがなくなる場合でもリカバリを実行します。QUICK
削除ブロックがない場合、テーブルの行をチェックしません。 サーバーがテーブルを自動的に修復する前に、サーバーは修復に関するメモをエラーログに書き込みます。ユーザーが介入せずにほとんどの問題をリカバリできるようにするには、
BACKUP,FORCE
オプションを使用します。これにより、一部の行が削除される場合でもテーブルの修復を強制しますが、古いデータファイルをバックアップとして保持しているため、何が発生したかをあとで検査できます。セクション15.2.1「MyISAM 起動オプション」を参照してください。
-
オプションファイルを読み取りません。オプションファイルから不明のオプションを読み取ることが原因でプログラムの起動に失敗する場合、
--no-defaults
を使用して、オプションを読み取らないようにできます。例外として、
.mylogin.cnf
ファイルは、存在する場合はすべての場合に読み取られます。これにより、--no-defaults
が使用されたとしても、コマンド行よりも安全な方法でパスワードを指定できます (.mylogin.cnf
は mysql_config_editor ユーティリティーによって作成されます。セクション4.6.6「mysql_config_editor — MySQL 構成ユーティリティー」を参照してください)。 -
コマンド行形式 --old-alter-table
システム変数 old_alter_table
スコープ グローバル、セッション 動的 はい 型 ブール デフォルト OFF
このオプションが指定された場合、サーバーは
ALTER TABLE
操作の処理の最適化された方式を使用しません。一時テーブルの使用に戻り、データのコピー後、MySQL 5.0 以前で使用されていたように、一時テーブルを元のテーブルの名前に変更します。ALTER TABLE
の操作について詳しくは、セクション13.1.7「ALTER TABLE 構文」を参照してください。 -
コマンド行形式 --old-style-user-limits
型 ブール デフォルト FALSE
古いスタイルのユーザー制限を有効にします。(MySQL 5.0.3 以前では、アカウントリソースは、
user
テーブルのアカウント行単位ではなく、ユーザーが接続したホストごとに別々にカウントされていました。)セクション6.3.4「アカウントリソース制限の設定」を参照してください。 -
コマンド行形式 --one-thread
削除 5.6.1 このオプションは MySQL 5.6.1 で削除されました。代わりに
--thread_handling=no-threads
を使用してください。 -
コマンド行形式 --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
無効化 skip-partition
型 ブール デフォルト ON
MySQL Server サーバーのユーザー定義のパーティショニングサポートを有効または無効にします。
-
--performance-schema-xxx
パフォーマンススキーマオプションを構成します。詳細については、セクション22.11「パフォーマンススキーマコマンドオプション」を参照してください。
-
コマンド行形式 --pid-file=file_name
システム変数 pid_file
スコープ グローバル 動的 いいえ 型 ファイル名 プロセス ID ファイルのパス名。サーバーは、別のディレクトリを指定する絶対パス名が指定されないかぎり、データディレクトリ内にファイルを作成します。このファイルは、mysqld_safe などの別のプログラムによってサーバーのプロセス ID を判別するときに使用されます。
-
サーバープラグインに関するオプションを指定します。たとえば、多くのストレージエンジンはプラグインとして構築でき、そのようなエンジンに対してそれらのオプションを
--plugin
プリフィクスで指定できます。したがって、InnoDB
の--innodb_file_per_table
オプションを--plugin-innodb_file_per_table
のように指定できます。有効または無効にできるブールオプションの場合、
--skip
プリフィクスおよびその他の代替形式もサポートされます (セクション4.2.5「プログラムオプション修飾子」を参照してください)。たとえば、--skip-plugin-innodb_file_per_table
はinnodb_file_per_table
を無効にします。--plugin
プリフィクスの理由として、組み込みサーバーオプションとの名前の競合がある場合に、あいまいさを排除してプラグインオプションを指定できるということがあります。たとえば、プラグイン 「sql」 に名前を指定し 「mode」 オプションを実装するプラグインライターは、オプション名が--sql-mode
となることがあり、同じ名前の組み込みオプションと競合します。そのような場合、競合する名前への参照は、組み込みオプション側として解決されます。あいまいさを避けるために、ユーザーはプラグインオプションを--plugin-sql-mode
として指定できます。あいまいさの問題を避けるために、プラグインオプションに--plugin
プリフィクスを使用することを推奨します。 -
コマンド行形式 --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
導入 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
スコープ グローバル 動的 いいえ 型 数値 デフォルト 3306
最小値 0
最大値 65535
TCP/IP 接続を listen するときに使用するポート番号。サーバーが
root
システムユーザーで開始されている場合を除き、ポート番号は 1024 以上にする必要があります。 -
コマンド行形式 --port-open-timeout=#
型 数値 デフォルト 0
一部のシステムでは、サーバーが停止すると、TCP/IP ポートがただちに利用できなくなることがあります。その後すぐにサーバーを再起動した場合、サーバーがポートをふたたびオープンしようとして失敗することがあります。このオプションは、TCP/IP ポートを開くことができない場合、TCP/IP ポートが開放されるまでサーバーが待機する秒数を指示します。デフォルトでは待機しません。
-
プログラム名と、オプションファイルから受け取るすべてのオプションを出力します。
-
コマンド行形式 --remove [service_name]
プラットフォーム固有 Windows (Windows のみ) MySQL Windows サービスを削除します。
service_name
の値が指定されない場合、デフォルトサービス名はMySQL
です。詳細については、セクション2.3.5.7「Windows のサービスとして MySQL を起動する」を参照してください。 -
コマンド行形式 --safe-mode
非推奨 はい (removed in 5.6.6) 一部の最適化ステージをスキップします。このオプションは MySQL 5.6.6 で削除されました。
-
コマンド行形式 --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
スコープ グローバル 動的 はい 型 ブール デフォルト (≥ 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
スコープ グローバル 動的 いいえ 型 文字列 このオプションは、
LOAD_FILE()
関数とLOAD DATA
およびSELECT ... INTO OUTFILE
ステートメントの効果を制限し、指定されたディレクトリ内のファイルにのみ作用します。 -
コマンド行形式 --shared-memory-base-name=name
システム変数 shared_memory
スコープ グローバル 動的 いいえ プラットフォーム固有 Windows ローカルクライアントによる共有メモリー接続を有効にします。このオプションは Windows でのみ使用できます。
-
--shared-memory-base-name=
name
システム変数 shared_memory_base_name
スコープ グローバル 動的 いいえ プラットフォーム固有 Windows 共有メモリー接続に使用する共有メモリーの名前。このオプションは Windows でのみ使用できます。デフォルト名は
MYSQL
です。名前は大文字と小文字を区別します。 -
MyISAM
テーブルに対する SELECT 文と INSERT 文の同時実行を無効化します。(これは、この機能にバグが見つかったと思われる場合のみ使用します。)セクション8.10.3「同時挿入」を参照してください。 -
コマンド行形式 --skip-event-scheduler
--disable-event-scheduler
イベントスケジューラを
OFF
にします。これは、--event-scheduler=DISABLED
の設定が必要なイベントスケジューラの無効化と同じではありません。詳細については、「--event-scheduler
オプション」を参照してください。 -
このオプションにより、サーバーは権限システムをまったく使用せずに開始され、サーバーへのアクセス権を持つすべてのユーザーにすべてのデータベースに対する無制限アクセス権が与えられます。サーバー実行中に、付与テーブルの行使を再開するには、mysqladmin flush-privileges または mysqladmin reload コマンドをシステムシェルから実行するか、サーバーへの接続後に MySQL
FLUSH PRIVILEGES
ステートメントを発行します。このオプションは、INSTALL PLUGIN
ステートメント、ユーザー定義関数 (UDF)、およびスケジュールされたイベントでインストールされたプラグインのロードも抑制します。プラグインをロードするには、--plugin-load
オプションを使用します。FLUSH PRIVILEGES
は起動後に実行されるほかのアクションによって暗黙的に実行される場合があります。たとえば、mysql_upgrade はアップグレード手続き中に権限をフラッシュします。 -
名前と 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 より大きく設定してもキャッシュはふたたび有効化されません。 -
InnoDB
ストレージエンジンを無効にします。この場合、デフォルトのストレージエンジンはInnoDB
であるため、--default-storage-engine
および--default-tmp-storage-engine
を使用して、永続テーブルとTEMPORARY
テーブルの両方についてデフォルトを別のエンジンに設定しないかぎりサーバーは開始しません。MySQL 5.6.21 以降では、
--skip-innodb
オプションは非推奨です。これを使用すると警告が出ます。このオプションは今後の MySQL リリースで削除されます。 -
クライアント接続を検査するときにホスト名を解決しません。IP アドレスのみを使用します。このオプションを使用する場合、付与テーブルのすべての
Host
カラムの値は IP アドレスまたはlocalhost
である必要があります。セクション8.11.5.2「DNS ルックアップの最適化とホストキャッシュ」を参照してください。システムのネットワーク構成およびアカウントの
Host
値によっては、クライアントは--host=localhost
、--host=127.0.0.1
、--host=::1
などの明示的な--host
オプションを使用して接続する必要がある場合もあります。 -
TCP/IP 接続を listen しません。mysqld とのすべての対話は、名前付きパイプまたは共有メモリー (Windows の場合) または UNIX ソケットファイル (UNIX の場合) を使用して行う必要があります。このオプションは、ローカルクライアントのみが許可されているシステムで強く推奨します。セクション8.11.5.2「DNS ルックアップの最適化とホストキャッシュ」を参照してください。
-
コマンド行形式 --skip-partition
--disable-partition
ユーザー定義のパーティショニングを無効にします。パーティション化されたテーブルは、
SHOW TABLES
を使用するか、INFORMATION_SCHEMA.TABLES
テーブルを照会することで表示できますが、作成または変更することはできず、そのようなテーブルのデータにアクセスすることもできません。INFORMATION_SCHEMA.PARTITIONS
テーブル内のパーティション固有のすべてのカラムにはNULL
が表示されます。DROP TABLE
によってテーブル定義 (.frm
) ファイルが削除されるため、このオプションを使用してパーティショニングが無効化されていても、このステートメントはパーティション化されたテーブルで機能します。ただしこのような場合、このステートメントはパーティション化されたテーブルに関連付けられた.par
ファイルを削除しません。このため、パーティショニングを無効化したパーティション化されたテーブルをドロップしないようにするか、孤立した.par
ファイルを手動で削除してください。 -
--ssl
で始まるオプションは、クライアントが SSL を使用して接続することを許可するかどうかを指定し、SSL 鍵および証明書を見つける場所を指定します。セクション6.3.10.4「SSL コマンドのオプション」を参照してください。 -
コマンド行形式 --standalone
プラットフォーム固有 Windows Windows でのみ使用可能で、MySQL Server にサービスとして実行しないよう指示します。
-
コマンド行形式 --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 では、シンボリックリンクを有効にすることで、実際のディレクトリへのパスを含む
ファイルを作成することによって、データベースディレクトリへのシンボリックリンクを確立できます。セクション8.11.3.1.3「Windows 上のデータベースへのシンボリックリンクの使用」を参照してください。db_name
.symUNIX では、シンボリックリンクを有効にすることは、
CREATE TABLE
ステートメントのINDEX DIRECTORY
またはDATA DIRECTORY
オプションを使用してMyISAM
インデックスファイルまたはデータファイルを別のディレクトリにリンクできることを意味します。テーブルを削除したり名前変更したりすると、そのシンボリックリンクが指定するファイルも削除されたり名前が変更されたりします。セクション8.11.3.1.2「Unix 上の MyISAM へのシンボリックリンクの使用」を参照してください。
-
コマンド行形式 --skip-show-database
システム変数 skip_show_database
スコープ グローバル 動的 いいえ このオプションは、
SHOW DATABASES
ステートメントを使用することが許可されているユーザーを制御するskip_show_database
システム変数を設定します。セクション5.1.4「サーバーシステム変数」を参照してください。 -
コマンド行形式 --skip-stack-trace
スタックトレースを書き込みません。このオプションは、デバッガで mysqld を実行するときに役立ちます。一部のシステムでは、コアファイルを取得するために、このオプションの使用が必要になることもあります。セクション24.4「MySQL のデバッグおよび移植」 を参照してください。
-
コマンド行形式 --skip-thread-priority
非推奨 はい (removed in 5.6.1) 応答速度を高めるために、スレッド優先順位の使用を無効にします。このオプションは使用されておらず、MySQL 5.6.1 で削除されました。
-
コマンド行形式 --slow-query-log
システム変数 slow_query_log
スコープ グローバル 動的 はい 型 ブール デフォルト OFF
スロークエリーログの初期状態を指定します。引数がないか引数が 1 の場合、
--slow-query-log
オプションはログを使用可能にします。省略されるか引数が 0 の場合、オプションはログを使用不可にします。 -
コマンド行形式 --slow-start-timeout=#
導入 5.6.5 型 数値 デフォルト 15000
このオプションは、Windows サービスコントロールマネージャーのサービス開始タイムアウトを制御します。この値は、起動時に Windows サービスを強制終了する前に、サービスコントロールマネージャーが待機する最大のミリ秒数です。デフォルト値は 15000 (15 秒) です。MySQL サービスの開始に時間がかかりすぎる場合、この値を増やすことが必要なこともあります。値 0 は、タイムアウトがないことを意味します。
-
コマンド行形式 --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
型 ブール デフォルト 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
型 ブール デフォルト TRUE
このオプションにより、サーバーによって作成されるほとんどの一時ファイルが、新規ファイルごとに一意の名前を使用するのではなく、少数の名前のセットを使用するようになります。これは、異なる名前で多くの新規ファイルの作成を処理する Linux カーネルでの問題を回避します。Linux では、メモリーがディスクキャッシュではなくディレクトリエントリキャッシュへの割り当てになるため、従来の動作ではメモリーの「リーク」が発生しがちです。このオプションは Linux 以外では無視されます。
-
コマンド行形式 --transaction-isolation=name
型 列挙 デフォルト REPEATABLE-READ
有効な値 READ-UNCOMMITTED
READ-COMMITTED
REPEATABLE-READ
SERIALIZABLE
デフォルトのトランザクション分離レベルを設定します。
level
値は、READ-UNCOMMITTED
、READ-COMMITTED
、REPEATABLE-READ
、またはSERIALIZABLE
に設定できます。セクション13.3.6「SET TRANSACTION 構文」を参照してください。デフォルトのトランザクション分離レベルは
SET TRANSACTION
ステートメントを使用するか、tx_isolation
システム変数を設定することによって実行時にも設定できます。 -
コマンド行形式 --transaction-read-only
導入 5.6.5 型 ブール デフォルト OFF
デフォルトのトランザクションアクセスモードを設定します。デフォルトでは読み取り専用モードが無効化されているため、モードは読み取り/書き込みです。
デフォルトのトランザクションアクセスモードを実行時に設定するには、
SET TRANSACTION
ステートメントを使用するか、tx_read_only
システム変数を設定します。セクション13.3.6「SET TRANSACTION 構文」を参照してください。このオプションは MySQL 5.6.5 で追加されました。
-
コマンド行形式 --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
または数字ユーザー IDuser_id
を持つユーザーとして実行します。(このコンテキストでの「ユーザー」は、システムログインアカウントであり、付与テーブルにリストされている MySQL ユーザーではありません。)mysqld を
root
として起動する場合、このオプションは必須です。サーバーは起動シーケンス中にそのユーザー 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
オプションが検出されると警告を出します。 -
詳細なヘルプを得るには、このオプションを
--help
オプションと一緒に使用します。 -
バージョン情報を表示して終了します。
--
の形式のオプションを使用して、サーバーシステム変数に値を割り当てることができます。たとえば、var_name
=value
--key_buffer_size=32M
は key_buffer_size
変数を 32M バイトの値に設定できます。
変数に値を割り当てた場合、MySQL は特定の範囲内にとどまるようにするために値を自動的に修正したり、特定の値のみが許可されていたりする場合は許容できるもっとも近い値に値を調整します。
実行時に SET
で変数を設定可能な最大値を制限するには、--maximum-
コマンド行オプションを使用してこれを定義できます。
var_name
=value
SET
ステートメントを使用して、実行中のサーバーについてのほとんどのシステム変数の値を変更できます。セクション13.7.4「SET 構文」を参照してください。
すべての変数の詳細に加え、サーバーの起動時や実行時にこれらの設定に関する追加情報は、セクション5.1.4「サーバーシステム変数」を参照してください。システム変数の調整によるサーバーの最適化に関する情報は、セクション8.11.2「サーバーパラメータのチューニング」を参照してください。