MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む
このページは機械翻訳したものです。
mysqld サーバーを起動するときに、セクション4.2.2「プログラムオプションの指定」に記載されているいずれかの方法で、プログラムオプションを指定できます。 もっとも一般的な方法は、オプションファイルまたはコマンド行でオプションを提供するやり方です。 ただし、ほとんどの場合では、サーバーが毎回実行するときサーバーが必ず同じオプションを使用します。 これを確実に行う最適な方法は、オプションファイルにオプションを一覧表示することです。 セクション4.2.2.2「オプションファイルの使用」を参照してください。 このセクションではオプションファイルの形式および構文についても説明します。
mysqld は [mysqld]
および [server]
グループからオプションを読み取ります。mysqld_safe は [mysqld]
、[server]
、[mysqld_safe]
、および [safe_mysqld]
グループからオプションを読み取ります。mysql.server は [mysqld]
および [mysql.server]
グループからオプションを読み取ります。
mysqld には多くのコマンドオプションがあります。 簡単なサマリーを表示するには、次のコマンドを実行します:
mysqld --help
完全なリストを表示するには、次のコマンドを使用します:
mysqld --verbose --help
リスト内の一部の項目は、実際にはサーバーの起動時に設定できるシステム変数です。 これらは、SHOW VARIABLES
ステートメントを使用して実行時に表示できます。 前述の mysqld コマンドで表示される一部の項目は、SHOW VARIABLES
出力には表示されません。これは、これらがシステム変数ではなくオプションであるためです。
次に、もっとも一般的なサーバーオプションの一部を示します。 その他のオプションは、ほかのセクションに記載されています。
セキュリティーに影響するオプション。セクション6.1.4「セキュリティー関連の mysqld オプションおよび変数」を参照してください。
SSL 関連オプション。暗号化接続のコマンドオプションを参照してください。
バイナリログ制御オプション。セクション5.4.4「バイナリログ」を参照してください。
レプリケーション関連オプション。セクション17.1.6「レプリケーションおよびバイナリロギングのオプションと変数」を参照してください。
プラガブルストレージエンジンなどのプラグインをロードするためのオプション。セクション5.6.1「プラグインのインストールおよびアンインストール」を参照してください。
特定のストレージエンジンに固有のオプション。セクション15.14「InnoDB の起動オプションおよびシステム変数」およびセクション16.2.1「MyISAM 起動オプション」を参照してください。
一部のオプションはバッファーまたはキャッシュのサイズを制御します。 所定のバッファーについて、サーバーは内部データ構造を割り当てる必要がある場合もあります。 これらの構造は、バッファーに割り当てられた合計メモリーから割り当てられ、必要なスペースの量はプラットフォームに依存することがあります。 つまり、バッファーサイズを制御するオプションに値を割り当てたとき、実際に使用可能なスペースの量が、割り当てられた値と異なる場合もあることを意味します。 一部の場合では、この量は割り当てられた値より少ないこともあります。 サーバーが値を上方に調整することもできます。 たとえば、最小値が 1024 のオプションに値 0 を割り当てると、サーバーは値を 1024 に設定します。
バッファーサイズ、長さ、およびスタックサイズの値は、別途指定しないかぎりバイト単位で指定されます。
一部のオプションはファイル名の値を取ります。 別途指定しないかぎり、値が相対パス名であれば、デフォルトのファイルの場所はデータディレクトリです。 場所を明示的に指定するには、絶対パス名を使用します。 たとえばデータディレクトリが /var/mysql/data
だとします。 相対パス名としてファイル値オプションを指定すると、/var/mysql/data
の下に配置されます。 値が絶対パス名である場合、その場所はパス名によって指定されます。
オプションとして変数名を使用して、サーバーの起動時にサーバーシステム変数の値を設定することもできます。 サーバーシステム変数に値を割り当てるには、--
という形式のオプションを使用します。 たとえば、var_name
=value
--sort_buffer_size=384M
は sort_buffer_size
変数を 384MB の値に設定します。
変数に値を割り当てると、特定の範囲内にとどまるように MySQL によって値が自動的に修正されたり、特定の値のみが許可されている場合は最も近い許容値に値が調整されたりすることがあります。
SET
ステートメントを使用してシステム変数を実行時に設定できる最大値を制限するには、サーバー起動時に --maximum-
形式のオプションを使用して、この最大値を指定します。
var_name
=value
ほとんどのシステム変数の値は、SET
ステートメントを使用して実行時に変更できます。 セクション13.7.6.1「変数代入の SET 構文」を参照してください。
セクション5.1.8「サーバーシステム変数」 では、すべての変数についての詳細な説明と、サーバーの起動時および実行時にそれらを設定するための追加情報を提供します。 システム変数の変更の詳細は、セクション5.1.1「サーバーの構成」 を参照してください。
コマンド行形式 | --help |
---|
短いヘルプメッセージを表示して終了します。 詳細メッセージを表示するには、--verbose
および --help
の両方のオプションを使用します。
コマンド行形式 | --admin-ssl[={OFF|ON}] |
---|---|
導入 | 8.0.21 |
型 | Boolean |
デフォルト値 | ON |
--admin-ssl
オプションは --ssl
オプションと似ていますが、メイン接続インタフェースではなく管理接続インタフェースに適用される点が異なります。 これらのインタフェースの詳細は、セクション5.1.12.1「接続インタフェース」 を参照してください。
--admin-ssl
オプションは、サーバーが管理インタフェースで暗号化された接続を許可するが必要としないことを指定します。 このオプションはデフォルトで有効となっています。
--admin-ssl
は、否定形式で --skip-admin-ssl
またはシノニム (--admin-ssl=OFF
、--disable-admin-ssl
) として指定できます。 この場合、このオプションは、admin_tsl_
および xxx
admin_ssl_
システム変数の設定に関係なく、サーバーが暗号化された接続を許可しないことを指定します。
xxx
--admin-ssl
オプションは、管理インタフェースが暗号化された接続をサポートしているかどうかにサーバーの起動時にのみ有効です。 これは無視され、実行時の ALTER INSTANCE RELOAD TLS
の操作には影響しません。 たとえば、--admin-ssl=OFF
を使用して、暗号化された接続を無効にして管理インタフェースを起動し、TLS を再構成して ALTER INSTANCE RELOAD TLS FOR CHANNEL mysql_admin
を実行し、実行時に暗号化された接続を有効にできます。
connection-encryption サポートの構成に関する一般情報は、セクション6.3.1「暗号化接続を使用するための MySQL の構成」 を参照してください。 この説明はメイン接続インタフェース用に記述されていますが、パラメータ名は管理接続インタフェース用に似ています。 サーバー側で admin_ssl_cert
および admin_ssl_key
システム変数を設定し、クライアント側で --ssl-ca
(または --ssl-capath
) オプションを設定することを検討してください。 管理インタフェースの詳細は、暗号化された接続に対する管理インタフェースのサポート を参照してください。
コマンド行形式 | --allow-suspicious-udfs[={OFF|ON}] |
---|---|
型 | Boolean |
デフォルト値 | OFF |
このオプションは、メイン関数に xxx
記号のみを持つユーザー定義関数をロードできるかどうかを制御します。 デフォルトでは、このオプションはオフで、少なくとも 1 つの補助記号を持つ UDF のみをロードできます。これにより、正当な UDF を含むもの以外の共有オブジェクトファイルから関数をロードしないようにします。 Loadable Function Security Precautionsを参照してください。
コマンド行形式 | --ansi |
---|
MySQL 構文の代わりに標準 (ANSI) SQL 構文を使用します。 サーバー SQL モードをさらに正確に制御するには、代わりに --sql-mode
オプションを使用します。 セクション1.7「MySQL の標準への準拠」およびセクション5.1.11「サーバー SQL モード」を参照してください。
--basedir=
, dir_name
-b
dir_name
コマンド行形式 | --basedir=dir_name |
---|---|
システム変数 | basedir |
スコープ | グローバル |
動的 | いいえ |
SET_VAR ヒントの適用 |
いいえ |
型 | ディレクトリ名 |
デフォルト値 | parent of mysqld installation directory |
MySQL インストールディレクトリへのパス。 このオプションは、basedir
システム変数を設定します。
サーバー実行可能ファイルは、起動時に独自のフルパス名を決定し、それが配置されているディレクトリの親をデフォルトの basedir
値として使用します。 これにより、サーバーは、エラーメッセージを含む share
ディレクトリなどのサーバー関連情報を検索するときに、その basedir
を使用できます。
--character-set-client-handshake
コマンド行形式 | --character-set-client-handshake[={OFF|ON}] |
---|---|
型 | Boolean |
デフォルト値 | ON |
クライアントによって送信された文字セット情報を無視しません。 クライアント情報を無視して、サーバーのデフォルトの文字セットを使用するには、--skip-character-set-client-handshake
を使用します。これにより、MySQL は MySQL 4.0. のように動作します。
--chroot=
, dir_name
-r
dir_name
コマンド行形式 | --chroot=dir_name |
---|---|
型 | ディレクトリ名 |
chroot()
のシステムコールを使用して、mysqld サーバーを起動中にクローズ環境にします。 これは推奨されるセキュリティー対策です。 このオプションを使用すると、LOAD DATA
および SELECT ... INTO OUTFILE
が多少制限されます。
コマンド行形式 | --console |
---|---|
プラットフォーム固有 | Windows |
(Windows のみ。) デフォルトのエラーログの出力先をコンソールにします。 これは、デフォルトの宛先に基づく独自の出力先のログシンクに影響します。 セクション5.4.2「エラーログ」 を参照してください。このオプションを使用した場合、mysqld はコンソールウィンドウを閉じません。
両方が指定されている場合、--console
は --log-error
よりも優先されます。
コマンド行形式 | --core-file[={OFF|ON}] |
---|---|
型 | Boolean |
デフォルト値 | OFF |
mysqld が異常終了した場合にコアファイルを作成します。 コアファイルの名前および場所はシステムに依存します。 Linux の場合、core.
という名前のコアファイルがプロセスの現在の作業ディレクトリに書き込まれ、これは mysqld のデータディレクトリです。pid
pid
はサーバープロセスのプロセス ID を表します。 macOS では、core.
というコアファイルがpid
/cores
ディレクトリに書き込まれます。 Solaris の場合、coreadm コマンドを使用して、コアファイルの書き込み先と名前を指定する方法を指定します。
一部のシステムでコアファイルを取得するには、mysqld_safe に --core-file-size
オプションを指定する必要もあります。 セクション4.3.2「mysqld_safe — MySQL サーバー起動スクリプト」を参照してください。 Solaris などの一部のシステムでは、--user
オプションも使用しないとコアファイルを取得できません。 追加の制限または制約がある場合もあります。 たとえば、サーバーを起動する前に ulimit -c unlimited を実行することが必要な場合もあります。 システムのドキュメントを参照してください。
innodb_buffer_pool_in_core_file
変数を使用すると、それをサポートするオペレーティングシステム上のコアファイルのサイズを縮小できます。 詳細は、セクション15.8.3.7「コアファイルからのバッファープールページの除外」を参照してください。
コマンド行形式 | --daemonize[={OFF|ON}] |
---|---|
型 | Boolean |
デフォルト値 | OFF |
このオプションを使用すると、サーバーは従来のフォーキングデーモンとして実行され、systemd を使用してプロセス制御を行うオペレーティングシステムと連携できます。 詳細は、セクション2.5.9「systemd を使用した MySQL Server の管理」を参照してください。
--daemonize
は、--initialize
および --initialize-insecure
と相互に排他的です。
サーバーが --daemonize
オプションを使用して起動され、tty デバイスに接続されていない場合は、エラー出力をデフォルトのログファイルに送るために、明示的なロギングオプションがないときに --log-error=""
のデフォルトのエラーロギングオプションが使用されます。
-D
は、--daemonize
のシノニムです。
--datadir=
, dir_name
-h
dir_name
コマンド行形式 | --datadir=dir_name |
---|---|
システム変数 | datadir |
スコープ | グローバル |
動的 | いいえ |
SET_VAR ヒントの適用 |
いいえ |
型 | ディレクトリ名 |
MySQL サーバーデータディレクトリへのパス。 このオプションは、datadir
システム変数を設定します。 その変数の説明を参照してください。
--debug[=
, debug_options
]-# [
debug_options
]
コマンド行形式 | --debug[=debug_options] |
---|---|
システム変数 | debug |
スコープ | グローバル、セッション |
動的 | はい |
SET_VAR ヒントの適用 |
いいえ |
型 | 文字列 |
デフォルト値 (Unix) | d:t:i:o,/tmp/mysqld.trace |
デフォルト値 (Windows) | d:t:i:O,\mysqld.trace |
MySQL が -DWITH_DEBUG=1
CMake オプションを使用して構成されている場合、このオプションを使用して 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
に設定されます。
詳細については、セクション5.9.4「DBUG パッケージ」を参照してください。
コマンド行形式 | --debug-sync-timeout[=#] |
---|---|
型 | Integer |
テストおよびデバッグのための Debug Sync 機能が有効かどうかを制御します。 デバッグ同期を使用するには、MySQL が -DENABLE_DEBUG_SYNC=1
CMake オプションで構成されている必要があります (セクション2.9.7「MySQL ソース構成オプション」 を参照)。 Debug Sync がコンパイルされていない場合、このオプションは使用できません。 オプション値は秒単位のタイムアウトです。 デフォルト値は 0 で、Debug Sync を無効にします。 これを有効にするには、0 より大きい値を指定してください。この値は、個々の同期点についてのデフォルトのタイムアウトになります。 オプションが値なしで指定された場合、タイムアウトは 300 秒に設定されます。
Debug Sync 機能および同期点の使用方法についての説明は、「MySQL Internals: Test Synchronization」を参照してください。
コマンド行形式 | --default-time-zone=name |
---|---|
型 | 文字列 |
デフォルトのサーバータイムゾーンを設定します。 このオプションは、グローバルな time_zone
システム変数を設定します。 このオプションを指定しない場合、デフォルトのタイムゾーンは、(system_time_zone
システム変数の値によって指定される) システムのタイムゾーンと同一になります。
--defaults-extra-file=
file_name
このオプションファイルは、グローバルオプションファイルのあとに読み取りますが、(UNIX では) ユーザーオプションファイルの前に読み取るようにしてください。 ファイルが存在しないかアクセスできない場合、エラーが発生します。file_name
は、フルパス名でなく相対パス名として指定された場合、現行ディレクトリを基準にして解釈されます。 これを使用する場合は、コマンド行の最初のオプションでなければなりません。
このオプションおよびその他のオプションファイルオプションの詳細は、セクション4.2.2.3「オプションファイルの処理に影響するコマンド行オプション」 を参照してください。
指定されたオプションファイルのみを読み取ります。 ファイルが存在しないかアクセスできない場合、エラーが発生します。file_name
は、フルパス名でなく相対パス名として指定された場合、現行ディレクトリを基準にして解釈されます。
例外: --defaults-file
でも、mysqld は mysqld-auto.cnf
を読み取ります。
--defaults-file
および --install
(または --install-manual
) オプションを使用してサーバーを起動する場合を除き、これはコマンド行の最初のオプションである必要があります。--install
(または --install-manual
) が最初に必要です。
このオプションおよびその他のオプションファイルオプションの詳細は、セクション4.2.2.3「オプションファイルの処理に影響するコマンド行オプション」 を参照してください。
通常のオプショングループだけでなく、通常の名前に str
のサフィクスが付いたグループも読み取ります。 たとえば、mysqld は通常 [mysqld]
グループを読み取ります。 --defaults-group-suffix=_other
オプションを指定した場合、mysqld は [mysqld_other]
グループも読み取ります。
このオプションおよびその他のオプションファイルオプションの詳細は、セクション4.2.2.3「オプションファイルの処理に影響するコマンド行オプション」 を参照してください。
--early-plugin-load=
plugin_list
コマンド行形式 | --early-plugin-load=plugin_list |
---|---|
型 | 文字列 |
デフォルト値 | empty string |
このオプションは、必須の組み込みプラグインをロードする前、およびストレージエンジンを初期化する前に、どのプラグインをロードするかをサーバーに指示します。 複数の --early-plugin-load
オプションを指定した場合は、最後のオプションのみが使用されます。
オプション値は、name
=
plugin_library
および plugin_library
の値をセミコロンで区切ったリストです。 各 name
はロードするプラグインの名前で、plugin_library
はプラグインコードを含むライブラリファイルの名前です。 プラグイン名を前に付けずにプラグインライブラリを指定した場合、サーバーはライブラリ内のすべてのプラグインをロードします。 サーバーは、plugin_dir
システム変数で指定されたディレクトリ内でプラグインライブラリファイルを検索します。
たとえば、myplug1
および myplug2
という名前のプラグインに myplug1.so
および myplug2.so
というライブラリファイルがある場合は、このオプションを使用して初期プラグインロードを実行します:
shell> mysqld --early-plugin-load="myplug1=myplug1.so;myplug2=myplug2.so"
一部のコマンドインタプリタではセミコロン (;
) が特殊文字として解釈されるため、引数値の前後に引用符が使用されます。 (たとえば UNIX シェルでは、これはコマンド終端記号として扱われます。)
指定された各プラグインは、mysqld の単一の呼出しに対してのみ早期にロードされます。 再起動後、--early-plugin-load
を再度使用しないかぎり、プラグインは早期にロードされません。
サーバーが --initialize
または --initialize-insecure
を使用して起動された場合、--early-plugin-load
で指定されたプラグインはロードされません。
サーバーが --help
で実行されている場合、--early-plugin-load
で指定されたプラグインがロードされますが、初期化されません。 この動作により、プラグインオプションがヘルプメッセージに確実に表示されます。
デフォルトの --early-plugin-load
値は空です。 keyring_file
プラグインをロードするには、空でない値で明示的な --early-plugin-load
オプションを使用する必要があります。
InnoDB
のテーブルスペース暗号化機能は、暗号化キー管理のために keyring_file
プラグインに依存しており、暗号化されたテーブルの InnoDB
リカバリを容易にするために、ストレージエンジンを初期化する前に keyring_file
プラグインをロードする必要があります。 起動時に keyring_file
プラグインをロードする管理者は、適切な空でないオプション値 (Unix や Unix のようなシステムでは keyring_file.so
、Windows では keyring_file.dll
) を使用する必要があります。
InnoDB
テーブルスペースの暗号化の詳細は、セクション15.13「InnoDB 保存データ暗号化」 を参照してください。 プラグインのロードに関する一般情報については、セクション5.6.1「プラグインのインストールおよびアンインストール」 を参照してください。
--exit-info[=
, flags
]-T [
flags
]
コマンド行形式 | --exit-info[=flags] |
---|---|
型 | Integer |
これは、mysqld サーバーのデバッグに使用できる様々なフラグのビットマスクです。 このオプションを使用するには、完全にこのオプションを理解していることが必要です。
コマンド行形式 | --external-locking[={OFF|ON}] |
---|---|
型 | Boolean |
デフォルト値 | OFF |
デフォルトで無効になっている外部ロック (システムロック) を有効にします。 lockd
が完全には機能しないシステム (Linux など) でこのオプションを使用すると、mysqld でデッドロックが発生しやすくなります。
外部ロックを明示的に無効にするには、--skip-external-locking
を使用します。
外部ロックは MyISAM
テーブルアクセスにのみ影響します。 使用できるまたはできない状況も含めた詳細情報については、セクション8.11.5「外部ロック」を参照してください。
コマンド行形式 | --flush[={OFF|ON}] |
---|---|
システム変数 | flush |
スコープ | グローバル |
動的 | はい |
SET_VAR ヒントの適用 |
いいえ |
型 | Boolean |
デフォルト値 | OFF |
各 SQL ステートメント後にすべての変更内容をディスクにフラッシュ (同期) します。 通常、MySQL では各 SQL ステートメントの終了後にのみすべての変更内容をディスクに書き込み、ディスクへの同期はオペレーティングシステムが処理します。 セクションB.3.3.3「MySQL が繰り返しクラッシュする場合の対処方法」を参照してください。
--flush
が指定されている場合、flush_time
の値は関係なく、flush_time
を変更してもフラッシュ動作には影響しません。
コマンド行形式 | --gdb[={OFF|ON}] |
---|---|
型 | Boolean |
デフォルト値 | OFF |
SIGINT
用の割り込みハンドラ (ブレークポイントを設定するための ^C
を使用して mysqld を停止するために必要) をインストールし、スタックトレースおよびコアファイルの処理を無効にします。 セクション5.9.1.4「gdb での mysqld のデバッグ」を参照してください。
Windows では、このオプションにより、RESTART
ステートメントの実装に使用される分岐も抑制されます: フォーキングを使用すると、一方のプロセスを他方のプロセスのモニターとして動作させることができます。このモニターはサーバーとして機能します。 ただし、フォークすると、デバッグのためにアタッチするサーバープロセスの決定が困難になるため、--gdb
でサーバーを起動するとフォーキングが抑制されます。 このオプションで起動されたサーバーの場合、RESTART
は単に終了し、再起動しません。
デバッグ以外の設定では、--no-monitor
を使用してモニタープロセスの分岐を抑制できます。
コマンド行形式 | --initialize[={OFF|ON}] |
---|---|
型 | Boolean |
デフォルト値 | OFF |
このオプションは、データディレクトリを作成し、mysql
システムスキーマにテーブルを移入することで、MySQL インストールを初期化するために使用します。 詳細は、セクション2.10.1「データディレクトリの初期化」を参照してください。
--initialize
を使用してサーバーを起動すると、init_file
システム変数で指定されたファイルで許可されるステートメントを制限する一部の機能が使用できなくなります。 詳細は、その変数の説明を参照してください。 また、disabled_storage_engines
システム変数は効果がありません。
--initialize
とともに使用する場合、--ndbcluster
オプションは無視されます。
--initialize
は、--daemonize
と相互に排他的です。
-I
は、--initialize
のシノニムです。
コマンド行形式 | --initialize-insecure[={OFF|ON}] |
---|---|
型 | Boolean |
デフォルト値 | OFF |
このオプションは、データディレクトリを作成し、mysql
システムスキーマにテーブルを移入することで、MySQL インストールを初期化するために使用します。 このオプションは、--initialize
を意味します。 詳細は、そのオプションの説明および セクション2.10.1「データディレクトリの初期化」 を参照してください。
--initialize-insecure
は、--daemonize
と相互に排他的です。
--innodb-
xxx
InnoDB
ストレージエンジンのオプションを設定します。 InnoDB
オプションは、セクション15.14「InnoDB の起動オプションおよびシステム変数」にリストされています。
コマンド行形式 | --install [service_name] |
---|---|
プラットフォーム固有 | Windows |
(Windows のみ) Windows の起動時に自動的に開始する Windows サービスとしてサーバーをインストールします。 service_name
の値が指定されない場合、デフォルトサービス名は MySQL
です。 詳細については、セクション2.3.4.8「Windows のサービスとして MySQL を起動する」を参照してください。
--defaults-file
オプションおよび --install
オプションを使用してサーバーを起動する場合、--install
を先にする必要があります。
--install-manual [
service_name
]
コマンド行形式 | --install-manual [service_name] |
---|---|
プラットフォーム固有 | Windows |
(Windows のみ) 手動で開始する必要がある Windows サービスとしてサーバーをインストールします。 Windows の起動中に自動的に開始されません。 service_name
の値が指定されない場合、デフォルトサービス名は MySQL
です。 詳細については、セクション2.3.4.8「Windows のサービスとして MySQL を起動する」を参照してください。
--defaults-file
オプションおよび --install-manual
オプションを使用してサーバーを起動する場合、--install-manual
を先にする必要があります。
--language=
lang_name
, -L lang_name
コマンド行形式 | --language=name |
---|---|
非推奨 | はい; use lc-messages-dir instead |
システム変数 | language |
スコープ | グローバル |
動的 | いいえ |
SET_VAR ヒントの適用 |
いいえ |
型 | ディレクトリ名 |
デフォルト値 | /usr/local/mysql/share/mysql/english/ |
エラーメッセージに使用する言語。lang_name
は、言語名として指定するか、言語ファイルがインストールされているディレクトリへのフルパス名として指定できます。 セクション10.12「エラーメッセージ言語の設定」を参照してください。
非推奨になった (--language
ではなく、--lc-messages-dir
および --lc-messages
を使用する必要があります。また、--lc-messages-dir
のシノニムとして処理されます)。 --language
オプションは、将来の MySQL リリースで削除される予定です。
コマンド行形式 | --large-pages[={OFF|ON}] |
---|---|
システム変数 | large_pages |
スコープ | グローバル |
動的 | いいえ |
SET_VAR ヒントの適用 |
いいえ |
プラットフォーム固有 | Linux |
型 | Boolean |
デフォルト値 | OFF |
ハードウェアまたはオペレーティングシステムのアーキテクチャーによっては、デフォルト (通常は 4K バイト) よりも大きいメモリーページをサポートしています。 このサポートの実際の実装は、ベースとなるハードウェアやオペレーティングシステムに依存します。 大量のメモリーアクセスがあるアプリケーションの場合、大きいページを使用して、トランスレーションルックアサイドバッファー (TLB; Translation Lookaside Buffer) のミスが減ることによってパフォーマンスが改善される可能性があります。
MySQL では、ラージページサポート (Linux では HugeTLB と呼ばれる) の Linux 実装がサポートされています。 セクション8.12.3.2「ラージページのサポートの有効化」を参照してください。 大きいページの Solaris サポートについては、--super-large-pages
オプションの説明を参照してください。
--large-pages
はデフォルトで無効になっています。
コマンド行形式 | --lc-messages=name |
---|---|
システム変数 | lc_messages |
スコープ | グローバル、セッション |
動的 | はい |
SET_VAR ヒントの適用 |
いいえ |
型 | 文字列 |
デフォルト値 | en_US |
エラーメッセージに使用するロケール。 デフォルトは en_US
です。 サーバーは引数を言語名に変換し、これを --lc-messages-dir
の値と組み合わせてエラーメッセージファイルの場所を生成します。 セクション10.12「エラーメッセージ言語の設定」を参照してください。
コマンド行形式 | --lc-messages-dir=dir_name |
---|---|
システム変数 | lc_messages_dir |
スコープ | グローバル |
動的 | いいえ |
SET_VAR ヒントの適用 |
いいえ |
型 | ディレクトリ名 |
エラーメッセージが配置されているディレクトリ。 サーバーはこの値を --lc-messages
の値と一緒に使用して、エラーメッセージファイルの場所を生成します。 セクション10.12「エラーメッセージ言語の設定」を参照してください。
コマンド行形式 | --local-service |
---|
(Windows のみ) サービス名のあとに --local-service
オプションが指定されると、システム権限が制限された LocalService
の Windows アカウントを使用してサーバーが実行されます。 --defaults-file
および --local-service
の両方がサービス名のあとに指定される場合、どのような順序でもかまいません。 セクション2.3.4.8「Windows のサービスとして MySQL を起動する」を参照してください。
コマンド行形式 | --log-error[=file_name] |
---|---|
システム変数 | log_error |
スコープ | グローバル |
動的 | いいえ |
SET_VAR ヒントの適用 |
いいえ |
型 | ファイル名 |
デフォルトのエラーログの保存先を指定されたファイルに設定します。 これは、デフォルトの宛先に基づく独自の出力先のログシンクに影響します。 セクション5.4.2「エラーログ」 を参照してください。
オプションでファイル名が指定されていない場合、Unix および Unix に似たシステムのデフォルトのエラーログの保存先は、データディレクトリ内の
という名前のファイルです。 host_name
.err--pid-file
オプションが指定されていないかぎり、Windows のデフォルトの宛先は同じです。 その場合、ファイル名は PID ファイルベース名に接尾辞 .err
を付けたものになります。
オプションでファイル名を指定する場合、デフォルトの宛先はそのファイル (名前に接尾辞がない場合は .err
接尾辞が追加されたもの) で、別の場所を指定する絶対パス名が指定されていないかぎり、データディレクトリの下にあります。
エラーログ出力をエラーログファイルにリダイレクトできない場合は、エラーが発生し、起動に失敗します。
Windows では、--console
は --log-error
よりも優先されます (両方が指定されている場合)。 この場合、デフォルトのエラーログの保存先は、ファイルではなくコンソールです。
コマンド行形式 | --log-isam[=file_name] |
---|---|
型 | ファイル名 |
MyISAM
のすべての変更内容をこのファイルに記録します (MyISAM
をデバッグするときだけ使用します)。
コマンド行形式 | --log-raw[={OFF|ON}] |
---|---|
システム変数 (≥ 8.0.19) | log_raw |
スコープ (≥ 8.0.19) | グローバル |
動的 (≥ 8.0.19) | はい |
SET_VAR ヒントの適用 (≥ 8.0.19) |
いいえ |
型 | Boolean |
デフォルト値 | OFF |
一般クエリーログ、スロークエリーログ、およびバイナリログに書き込まれた特定のステートメント内のパスワードは、文字どおりプレーンテキストで発生しないようにサーバーによって書き換えられます。 一般クエリーログについてのパスワードの書き換えは、--log-raw
オプションでサーバーを起動することによって抑制できます。 このオプションは、サーバーによって受け取られるステートメントの正確なテキストを表示する際の診断目的で役立つ場合がありますが、セキュリティー上の理由で本番用途では推奨されません。
クエリーリライトプラグインがインストールされている場合、--log-raw
オプションは次のようにステートメントのロギングに影響します:
--log-raw
がない場合、サーバーはクエリーリライトプラグインによって返されたステートメントをログに記録します。 これは、受け取ったステートメントとは異なる場合があります。
--log-raw
では、サーバーは元のステートメントを受信したとおりにログに記録します。
詳細は、セクション6.1.2.3「パスワードおよびロギング」を参照してください。
コマンド行形式 | --log-short-format[={OFF|ON}] |
---|---|
型 | Boolean |
デフォルト値 | OFF |
スロークエリーログがアクティブ化されている場合は、ログに記録される情報が少なくなります。
コマンド行形式 | --log-tc=file_name |
---|---|
型 | ファイル名 |
デフォルト値 | tc.log |
メモリーマップ済みのトランザクションコーディネータログファイルの名前 (バイナリログが無効のときに複数のストレージエンジンに影響する XA トランザクション用)。 デフォルト名は tc.log
です。 フルパス名が指定されない場合、ファイルはデータディレクトリの下に作成されます。 このオプションは使用されません。
コマンド行形式 | --log-tc-size=# |
---|---|
型 | Integer |
デフォルト値 | 6 * page size |
最小値 | 6 * page size |
最大値 (64 ビットプラットフォーム) | 18446744073709551615 |
最大値 (32 ビットプラットフォーム) | 4294967295 |
メモリーマップ済みのトランザクションコーディネータログのバイト単位のサイズ。 デフォルト値と最小値はページサイズの 6 倍で、値はページサイズの倍数である必要があります。
コマンド行形式 | --memlock[={OFF|ON}] |
---|---|
型 | Boolean |
デフォルト値 | OFF |
メモリー内の 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.12.3.2「ラージページのサポートの有効化」の memlock 制限に関するメモを参照してください。
mlockall()
システムコールをサポートしていないシステムでは、このオプションを使用しないでください。使用すると、mysqld を起動しようとするとすぐに終了する可能性が高くなります。
コマンド行形式 | --myisam-block-size=# |
---|---|
型 | Integer |
デフォルト値 | 1024 |
最小値 | 1024 |
最大値 | 16384 |
MyISAM
インデックスページに使用するブロックサイズ。
オプションファイルを読み取りません。 オプションファイルから不明のオプションを読み取ることが原因でプログラムの起動に失敗する場合、--no-defaults
を使用して、オプションを読み取らないようにできます。 これを使用する場合は、コマンド行の最初のオプションでなければなりません。
このオプションおよびその他のオプションファイルオプションの詳細は、セクション4.2.2.3「オプションファイルの処理に影響するコマンド行オプション」 を参照してください。
コマンド行形式 | --no-dd-upgrade[={OFF|ON}] |
---|---|
非推奨 | 8.0.16 |
型 | Boolean |
デフォルト値 | OFF |
このオプションは、MySQL 8.0.16 では非推奨です。 データディクショナリおよびサーバーのアップグレード動作をより細かく制御できる --upgrade
オプションに置き換えられています。
MySQL サーバーの起動プロセス中にデータディクショナリテーブルが自動的にアップグレードされないようにします。 このオプションは通常、既存のインストールを新しい MySQL バージョンにインプレースアップグレードした後に MySQL サーバーを起動するときに使用されます。これにはデータディクショナリテーブル定義の変更が含まれる場合があります。
--no-dd-upgrade
が指定されていて、サーバーが予期されるバージョンのデータディクショナリがデータディクショナリ自体に格納されているバージョンと異なることを検出した場合、データディクショナリのアップグレードが禁止されていることを示すエラーで起動が失敗
[ERROR] [MY-011091] [Server] Data dictionary upgrade prohibited by the command line option '--no_dd_upgrade'. [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
通常の起動時に、データディクショナリテーブル定義をアップグレードする必要があるかどうかを判断するために、サーバーのデータディクショナリのバージョンがデータディクショナリに格納されているバージョンと比較されます。 アップグレードが必要でサポートされている場合、サーバーは、更新された定義を含むデータディクショナリテーブルを作成し、永続化されたメタデータを新しいテーブルにコピーし、古いテーブルを新しいテーブルに原子的に置き換え、データディクショナリを再初期化します。 アップグレードが不要な場合、データディクショナリテーブルを更新せずに起動が続行されます。
コマンド行形式 | --no-monitor[={OFF|ON}] |
---|---|
導入 | 8.0.12 |
プラットフォーム固有 | Windows |
型 | Boolean |
デフォルト値 | OFF |
(Windows のみ) このオプションは、RESTART
ステートメントの実装に使用される分岐を抑制: フォーキングを使用すると、一方のプロセスを他方のプロセスのモニターとして動作させることができます。このモニターはサーバーとして機能します。 このオプションで起動されたサーバーの場合、RESTART
は単に終了し、再起動しません。
--no-monitor
は、MySQL 8.0.12 より前は使用できません。 回避策として --gdb
オプションを使用できます。
コマンド行形式 | --old-style-user-limits[={OFF|ON}] |
---|---|
型 | Boolean |
デフォルト値 | OFF |
古いスタイルのユーザー制限を有効にします。 (MySQL 5.0.3 以前では、アカウントリソースは、user
テーブルのアカウント行単位ではなく、ユーザーが接続したホストごとに別々にカウントされていました。) セクション6.2.20「アカウントリソース制限の設定」を参照してください。
--performance-schema-xxx
パフォーマンススキーマオプションを構成します。 詳細は、セクション27.14「パフォーマンススキーマコマンドオプション」を参照してください。
コマンド行形式 | --plugin-load=plugin_list |
---|---|
システム変数 | plugin_load |
スコープ | グローバル |
動的 | いいえ |
SET_VAR ヒントの適用 |
いいえ |
型 | 文字列 |
このオプションは、指定されたプラグインを起動時にロードするようサーバーに指示します。 複数の --plugin-load
オプションが指定された場合、最後のオプションのみが使用されます。 ロードする追加のプラグインは、--plugin-load-add
オプションを使用して指定できます。
オプション値は、name
=
plugin_library
および plugin_library
の値をセミコロンで区切ったリストです。 各 name
はロードするプラグインの名前で、plugin_library
はプラグインコードを含むライブラリファイルの名前です。 プラグイン名を前に付けずにプラグインライブラリを指定した場合、サーバーはライブラリ内のすべてのプラグインをロードします。 サーバーは、plugin_dir
システム変数で指定されたディレクトリ内でプラグインライブラリファイルを検索します。
たとえば、myplug1
および myplug2
という名前のプラグインに myplug1.so
および myplug2.so
というライブラリファイルがある場合は、このオプションを使用して初期プラグインロードを実行します:
shell> mysqld --plugin-load="myplug1=myplug1.so;myplug2=myplug2.so"
セミコロン (;
) は一部のコマンドインタプリタで特殊文字として解釈されるため、ここでは引数値の前後に引用符が使用されます。 (たとえば UNIX シェルでは、これはコマンド終端記号として扱われます。)
各名前付きプラグインは、mysqld の単一の呼出しに対してのみロードされます。 再起動後、--plugin-load
をふたたび使用しないかぎり、プラグインはロードされません。 これは INSTALL PLUGIN
とは対照的で、こちらは mysql.plugins
テーブルに項目を追加することで、サーバーが通常起動するたびにプラグインがロードされます。
通常の起動シーケンスでは、サーバーは mysql.plugins
システムテーブルを読み取ることによって、ロードするプラグインを決定します。 サーバーが --skip-grant-tables
オプションで起動された場合、mysql.plugins
テーブルに登録されているプラグインはロードされず、使用できません。--plugin-load
を使用すると、--skip-grant-tables
が指定されている場合でもプラグインをロードできます。--plugin-load
を使用すると、実行時にロードできないプラグインを起動時にロードすることもできます。
プラグインのロードについての追加情報は、セクション5.6.1「プラグインのインストールおよびアンインストール」を参照してください。
コマンド行形式 | --plugin-load-add=plugin_list |
---|---|
システム変数 | plugin_load_add |
スコープ | グローバル |
動的 | いいえ |
SET_VAR ヒントの適用 |
いいえ |
型 | 文字列 |
このオプションは --plugin-load
オプションを補完します。--plugin-load-add
は、起動時にロードされるプラグインのセットに 1 つまたは複数のプラグインを追加します。 引数の形式は --plugin-load
と同じです。--plugin-load-add
は、大量のプラグインのセットを、長くて扱いにくい単一の --plugin-load
引数として指定しないようにできます。
--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.6.1「プラグインのインストールおよびアンインストール」を参照してください。
サーバープラグインに関するオプションを指定します。 たとえば、多くのストレージエンジンはプラグインとして構築でき、そのようなエンジンに対してそれらのオプションを --plugin
プリフィクスで指定できます。 したがって、InnoDB
の --innodb-file-per-table
オプションは --plugin-innodb-file-per-table
として指定できます。
有効または無効にできるブールオプションの場合、--skip
プリフィクスおよびその他の代替形式もサポートされます (セクション4.2.2.4「プログラムオプション修飾子」を参照してください)。 たとえば、--skip-plugin-innodb-file-per-table
は innodb-file-per-table
を無効にします。
--plugin
プリフィクスの理由として、組み込みサーバーオプションとの名前の競合がある場合に、あいまいさを排除してプラグインオプションを指定できるということがあります。 たとえば、プラグイン 「sql」 に名前を指定し 「mode」 オプションを実装するプラグインライターは、オプション名が --sql-mode
となることがあり、同じ名前の組み込みオプションと競合します。 そのような場合、競合する名前への参照は、組み込みオプション側として解決されます。 あいまいさを避けるために、ユーザーはプラグインオプションを --plugin-sql-mode
として指定できます。 あいまいさの問題を避けるために、プラグインオプションに --plugin
プリフィクスを使用することを推奨します。
コマンド行形式 | --port=port_num |
---|---|
システム変数 | port |
スコープ | グローバル |
動的 | いいえ |
SET_VAR ヒントの適用 |
いいえ |
型 | Integer |
デフォルト値 | 3306 |
最小値 | 0 |
最大値 | 65535 |
TCP/IP 接続を listen するときに使用するポート番号。 Unix および Unix に似たシステムでは、サーバーが root
オペレーティングシステムユーザーによって起動されないかぎり、ポート番号は 1024 以上である必要があります。 このオプションを 0 に設定すると、デフォルト値が使用されます。
コマンド行形式 | --port-open-timeout=# |
---|---|
型 | Integer |
デフォルト値 | 0 |
一部のシステムでは、サーバーが停止すると、TCP/IP ポートがただちに利用できなくなることがあります。 その後すぐにサーバーを再起動した場合、サーバーがポートをふたたびオープンしようとして失敗することがあります。 このオプションは、TCP/IP ポートを開くことができない場合、TCP/IP ポートが開放されるまでサーバーが待機する秒数を指示します。 デフォルトでは待機しません。
プログラム名と、オプションファイルから受け取るすべてのオプションを出力します。 パスワード値はマスクされます。 これは、--defaults-file
または --defaults-extra-file
の直後に使用できることを除き、コマンドラインで最初のオプションにする必要があります。
このオプションおよびその他のオプションファイルオプションの詳細は、セクション4.2.2.3「オプションファイルの処理に影響するコマンド行オプション」 を参照してください。
コマンド行形式 | --remove [service_name] |
---|---|
プラットフォーム固有 | Windows |
(Windows のみ) MySQL Windows サービスを削除します。 service_name
の値が指定されない場合、デフォルトサービス名は MySQL
です。 詳細については、セクション2.3.4.8「Windows のサービスとして MySQL を起動する」を参照してください。
コマンド行形式 | --safe-user-create[={OFF|ON}] |
---|---|
型 | Boolean |
デフォルト値 | OFF |
このオプションが有効になっている場合、mysql.user
システムテーブルまたはテーブル内のカラムに対する INSERT
権限がないかぎり、ユーザーは GRANT
ステートメントを使用して新しい MySQL ユーザーを作成できません。 あるユーザーが新規ユーザーを作成する能力を持ち、そのユーザーが付与する権利を持つ権限を、新規ユーザーが持つようにするには、そのユーザーに次の権限を付与します。
GRANT INSERT(user) ON mysql.user TO 'user_name
'@'host_name
';
これで、ユーザーは権限カラムを直接変更できませんが、GRANT
ステートメントを使用してほかのユーザーに権限を与えることができるようになります。
コマンド行形式 | --skip-grant-tables[={OFF|ON}] |
---|---|
型 | Boolean |
デフォルト値 | OFF |
このオプションは、サーバーの起動順序に影響します:
--skip-grant-tables
により、サーバーは mysql
システムスキーマ内の付与テーブルを読み取らないため、権限システムをまったく使用せずに起動します。 これにより、すべてのユーザーがサーバーすべてのデータベースへの無制限アクセスにアクセスできるようになります。
--skip-grant-tables
を使用してサーバーを起動すると認証チェックが無効になるため、この場合、サーバーは skip_networking
を有効にしてリモート接続も無効にします。
--skip-grant-tables
で起動されたサーバーが実行時に付与テーブルをロードするようにするには、次の方法で権限フラッシュ操作を実行します:
サーバーへの接続後に MySQL FLUSH PRIVILEGES
ステートメントを発行します。
コマンドラインから mysqladmin flush-privileges または mysqladmin reload コマンドを実行します。
権限のフラッシュは、起動後に他のアクションが実行された結果として暗黙的に発生する可能性もあるため、サーバーは付与テーブルの使用を開始します。 たとえば、起動シーケンス中にアップグレードを実行すると、サーバーは権限をフラッシュします。
--skip-grant-tables
では、ログイン失敗追跡および一時アカウントロックが無効になります。これらの機能は付与テーブルに依存するためです。 セクション6.2.15「パスワード管理」を参照してください。
--skip-grant-tables
では、データディクショナリまたは mysql
システムスキーマに登録されている他の特定のオブジェクトがサーバーによってロードされません:
CREATE EVENT
を使用してインストールされ、events
データディクショナリテーブルに登録されたスケジュール済イベント。
INSTALL PLUGIN
を使用してインストールされ、mysql.plugin
システムテーブルに登録されたプラグイン。
--skip-grant-tables
を使用していてもプラグインがロードされるようにするには、--plugin-load
または --plugin-load-add
オプションを使用します。
CREATE FUNCTION
を使用してインストールされ、mysql.func
システムテーブルに登録されているユーザー定義関数 (UDF)。
--skip-grant-tables
は、コンポーネントの起動時にロードを抑制しません。
--skip-grant-tables
では、disabled_storage_engines
システム変数は無効になります。
コマンド行形式 | --skip-host-cache |
---|
名前と IP の解決を高速化するために内部ホストキャッシュの使用を無効にします。 キャッシュを無効にすると、サーバーはクライアントが接続するたびに DNS ルックアップを実行します。
--skip-host-cache
の使用は host_cache_size
システム変数を 0 に設定することに似ていますが、host_cache_size
の方が柔軟性が高く、これはサーバー起動時だけでなく実行時にもホストキャッシュのサイズを変更したり有効化または無効化したりするために使用できるためです。
--skip-host-cache
を使用してサーバーを起動しても、host_cache_size
の値に対する実行時の変更は妨げられませんが、このような変更は効果がなく、host_cache_size
が 0 より大きい値に設定されていてもキャッシュは再度有効になりません。
ホストキャッシュの動作の詳細は、セクション5.1.12.3「DNS ルックアップとホストキャッシュ」 を参照してください。
InnoDB
ストレージエンジンを無効にします。 この場合、デフォルトのストレージエンジンは InnoDB
であるため、--default-storage-engine
および --default-tmp-storage-engine
を使用して永続テーブルと TEMPORARY
テーブルの両方のデフォルトをほかのエンジンに設定しないかぎり、サーバーは起動しません。
InnoDB
ストレージエンジンを無効にすることはできず、--skip-innodb
オプションは非推奨であり、効果はありません。 これを使用すると警告が出ます。 このオプションは、将来の MySQL リリースで削除される予定です。
コマンド行形式 | --skip-new |
---|
このオプションは、安全でない可能性のある新しい動作を無効にします (考慮する必要があります)。 これらの設定になります: delay_key_write=OFF
, concurrent_insert=NEVER
, automatic_sp_privileges=OFF
。 また、OPTIMIZE TABLE
がサポートされていないストレージエンジンの ALTER TABLE
にも OPTIMIZE TABLE
がマップされます。
コマンド行形式 | --skip-show-database |
---|---|
システム変数 | skip_show_database |
スコープ | グローバル |
動的 | いいえ |
SET_VAR ヒントの適用 |
いいえ |
このオプションは、SHOW DATABASES
ステートメントを使用することが許可されているユーザーを制御する skip_show_database
システム変数を設定します。 セクション5.1.8「サーバーシステム変数」を参照してください。
コマンド行形式 | --skip-stack-trace |
---|
スタックトレースを書き込みません。 このオプションは、デバッガで mysqld を実行するときに役立ちます。 一部のシステムでは、コアファイルを取得するために、このオプションの使用が必要になることもあります。 セクション5.9「MySQL のデバッグ」を参照してください。
コマンド行形式 | --slow-start-timeout=# |
---|---|
型 | Integer |
デフォルト値 | 15000 |
このオプションは、Windows サービスコントロールマネージャーのサービス開始タイムアウトを制御します。 この値は、起動時に Windows サービスを強制終了する前に、サービスコントロールマネージャーが待機する最大のミリ秒数です。 デフォルト値は 15000 (15 秒) です。 MySQL サービスの開始に時間がかかりすぎる場合、この値を増やすことが必要なこともあります。 値 0 は、タイムアウトがないことを意味します。
コマンド行形式 | --socket={file_name|pipe_name} |
---|---|
システム変数 | socket |
スコープ | グローバル |
動的 | いいえ |
SET_VAR ヒントの適用 |
いいえ |
型 | 文字列 |
デフォルト値 (Windows) | MySQL |
デフォルト値 (その他) | /tmp/mysql.sock |
UNIX の場合、このオプションは、ローカル接続用の listen を行うときに使用する UNIX ソケットファイルを指定します。 デフォルト値は /tmp/mysql.sock
です。 このオプションが指定された場合、別のディレクトリを指定する絶対パス名が指定されないかぎり、サーバーはデータディレクトリにファイルを作成します。 Windows の場合、このオプションは、名前付きパイプを使用する、ローカル接続用の listen を行うときに使用するパイプ名を指定します。 デフォルト値は MySQL
です (大/小文字は区別されません)。
--sql-mode=
value
[,value
[,value
...]]
コマンド行形式 | --sql-mode=name |
---|---|
システム変数 | sql_mode |
スコープ | グローバル、セッション |
動的 | はい |
SET_VAR ヒントの適用 |
はい |
型 | Set |
デフォルト値 | ONLY_FULL_GROUP_BY STRICT_TRANS_TABLES NO_ZERO_IN_DATE NO_ZERO_DATE ERROR_FOR_DIVISION_BY_ZERO NO_ENGINE_SUBSTITUTION |
有効な値 |
|
SQL モードを設定します。 セクション5.1.11「サーバー SQL モード」を参照してください。
MySQL インストールプログラムはインストールプロセス中に SQL モードを構成することがあります。
SQL モードがデフォルトまたは期待されているモードと異なる場合、サーバーが起動時に読み取るオプションファイル内の設定を確認してください。
コマンド行形式 | --ssl[={OFF|ON}] |
---|---|
無効化 | skip-ssl |
型 | Boolean |
デフォルト値 | ON |
--ssl
オプションは、サーバーが暗号化された接続を許可するが必要としないことを指定します。 このオプションはデフォルトで有効となっています。
--ssl
は、否定形式で --skip-ssl
またはシノニム (--ssl=OFF
、--disable-ssl
) として指定できます。 この場合、このオプションは、tls_
および xxx
ssl_
システム変数の設定に関係なく、サーバーが暗号化された接続を許可しないことを指定します。
xxx
--ssl
オプションは、サーバーの起動時に、サーバーが暗号化された接続をサポートしているかどうかにのみ有効です。 これは無視され、実行時の ALTER INSTANCE RELOAD TLS
の操作には影響しません。 たとえば、--ssl=OFF
を使用して、暗号化された接続を無効にしてサーバーを起動し、TLS を再構成して ALTER INSTANCE RELOAD TLS
を実行し、実行時に暗号化された接続を有効にできます。
クライアントが SSL を使用して接続できるかどうかの構成、および SSL キーと証明書の検索場所の指定の詳細は、セクション6.3.1「暗号化接続を使用するための MySQL の構成」 を参照してください。ここでは、証明書とキーファイルの自動生成および自動検出のためのサーバー機能についても説明します。 サーバー側で ssl_cert
および ssl_key
システム変数を設定し、クライアント側で --ssl-ca
(または --ssl-capath
) オプションを設定することを検討してください。
コマンド行形式 | --standalone |
---|---|
プラットフォーム固有 | Windows |
Windows でのみ使用可能で、MySQL Server にサービスとして実行しないよう指示します。
コマンド行形式 | --super-large-pages[={OFF|ON}] |
---|---|
プラットフォーム固有 | Solaris |
型 | Boolean |
デフォルト値 | OFF |
MySQL での標準的な大規模ページの使用では、サポートされる最大サイズである 4M バイトまでの使用が試行されます。 Solaris では「超大規模ページ」機能により 256M バイトまでのページの使用が可能です。 この機能は最新の SPARC プラットフォームで使用できます。 これは --super-large-pages
または --skip-super-large-pages
オプションを使用して有効または無効にできます。
--symbolic-links
, --skip-symbolic-links
コマンド行形式 | --symbolic-links[={OFF|ON}] |
---|---|
非推奨 | はい |
型 | Boolean |
デフォルト値 | OFF |
シンボリックリンクサポートを有効または無効にします。 Unix でシンボリックリンクを有効にすると、CREATE TABLE
ステートメントの INDEX DIRECTORY
または DATA DIRECTORY
オプションを使用して、MyISAM
インデックスファイルまたはデータファイルを別のディレクトリにリンクできます。 テーブルを削除したり名前変更したりすると、そのシンボリックリンクが指定するファイルも削除されたり名前が変更されたりします。 セクション8.12.2.2「Unix 上の MyISAM へのシンボリックリンクの使用」を参照してください。
シンボリックリンクのサポートは、それを制御する --symbolic-links
オプションとともに非推奨になりました。将来のバージョンの MySQL で削除される予定です。 また、このオプションはデフォルトで無効になっています。 関連する have_symlink
システム変数も非推奨になりました。将来のバージョンの MySQL で削除される予定です。
このオプションは Windows では意味がありません。
コマンド行形式 | --sysdate-is-now[={OFF|ON}] |
---|---|
型 | Boolean |
デフォルト値 | OFF |
デフォルトの SYSDATE()
は、この関数があるステートメントの実行が開始された時間ではなく、この関数が実行された時間を返します。 これは NOW()
の動作と異なります。 このオプションにより、SYSDATE()
が NOW()
のシノニムになります。 バイナリロギングおよびレプリケーションに対する意味については、セクション12.7「日付および時間関数」の SYSDATE()
および セクション5.1.8「サーバーシステム変数」の SET TIMESTAMP
についての説明を参照してください。
--tc-heuristic-recover={COMMIT|ROLLBACK}
コマンド行形式 | --tc-heuristic-recover=name |
---|---|
型 | 列挙 |
デフォルト値 | OFF |
有効な値 |
|
手動ヒューリスティックリカバリで使用する決定。
--tc-heuristic-recover
オプションを指定すると、手動ヒューリスティックリカバリが成功したかどうかに関係なく、サーバーは終了します。
2 フェーズコミットが可能なストレージエンジンが複数あるシステムでは、ROLLBACK
オプションは安全ではなく、次のエラーで回復が停止します:
[ERROR] --tc-heuristic-recover rollback strategy is not safe on systems with more than one 2-phase-commit-capable storage engine. Aborting crash recovery.
コマンド行形式 | --transaction-isolation=name |
---|---|
システム変数 | transaction_isolation |
スコープ | グローバル、セッション |
動的 | はい |
SET_VAR ヒントの適用 |
いいえ |
型 | 列挙 |
デフォルト値 | REPEATABLE-READ |
有効な値 |
|
デフォルトのトランザクション分離レベルを設定します。 level
値は、READ-UNCOMMITTED
、READ-COMMITTED
、REPEATABLE-READ
、または SERIALIZABLE
に設定できます。 セクション13.3.7「SET TRANSACTION ステートメント」を参照してください。
デフォルトのトランザクション分離レベルは、SET TRANSACTION
ステートメントを使用するか、transaction_isolation
システム変数を設定して、実行時に設定することもできます。
コマンド行形式 | --transaction-read-only[={OFF|ON}] |
---|---|
システム変数 | transaction_read_only |
スコープ | グローバル、セッション |
動的 | はい |
SET_VAR ヒントの適用 |
いいえ |
型 | Boolean |
デフォルト値 | OFF |
デフォルトのトランザクションアクセスモードを設定します。 デフォルトでは読み取り専用モードが無効化されているため、モードは読み取り/書き込みです。
実行時にデフォルトのトランザクションアクセスモードを設定するには、SET TRANSACTION
ステートメントを使用するか、transaction_read_only
システム変数を設定します。 セクション13.3.7「SET TRANSACTION ステートメント」を参照してください。
--tmpdir=
, dir_name
-t
dir_name
コマンド行形式 | --tmpdir=dir_name |
---|---|
システム変数 | tmpdir |
スコープ | グローバル |
動的 | いいえ |
SET_VAR ヒントの適用 |
いいえ |
型 | ディレクトリ名 |
一時ファイルを作成するために使用するディレクトリのパス。 これは、小さすぎて一時テーブルを保持できないパーティション上にデフォルトの /tmp
ディレクトリがある場合に役立つことがあります。 このオプションは、ラウンドロビン方式で使用されるいくつかのパスを受け入れます。 パスは、Unix ではコロン文字 (:
) で区切り、Windows ではセミコロン文字 (;
) で区切る必要があります。
--tmpdir
は、メモリーベースのファイルシステム上のディレクトリや、サーバーホストの再起動時にクリアされるディレクトリなど、非永続的な場所にすることができます。 MySQL サーバーがレプリカとして機能しており、--tmpdir
に非永続的な場所を使用している場合は、slave_load_tmpdir
システム変数を使用してレプリカに別の一時ディレクトリを設定することを検討してください。 レプリカの場合、LOAD DATA
ステートメントのレプリケートに使用される一時ファイルはこのディレクトリに格納されるため、永続的な場所ではマシンの再起動後も存続できますが、一時ファイルが削除されている場合は、再起動後もレプリケーションを続行できるようになりました。
一時ファイルのストレージ位置に関しては、セクションB.3.3.5「MySQL が一時ファイルを格納する場所」を参照してください。
コマンド行形式 | --upgrade=value |
---|---|
導入 | 8.0.16 |
型 | 列挙 |
デフォルト値 | AUTO |
有効な値 |
|
このオプションは、サーバーが起動時に自動アップグレードを実行するかどうか、およびその方法を制御します。 自動アップグレードには、次の 2 つのステップが含まれます:
ステップ 1: データディクショナリのアップグレード。
このステップでは、次のアップグレードを行います:
mysql
スキーマ内のデータディクショナリテーブル。 実際のデータディクショナリのバージョンが現在予想されているバージョンより低い場合、サーバーはデータディクショナリをアップグレードします。 実行できない場合、または実行できない場合、サーバーは実行できません。
パフォーマンススキーマと INFORMATION_SCHEMA
。
ステップ 2: サーバーのアップグレード。
このステップは、他のすべてのアップグレードタスクで構成されます。 既存のインストールデータの MySQL バージョンがサーバーの予想より低い場合は、アップグレードする必要があります:
mysql
スキーマ内のシステムテーブル (残りの非データディクショナリテーブル)。
sys
スキーマ。
ユーザースキーマ。
アップグレードステップ 1 および 2 の詳細は、セクション2.11.3「MySQL のアップグレードプロセスの内容」 を参照してください。
次の --upgrade
オプション値を使用できます:
AUTO
サーバーは、最新でないことが判明したものの自動アップグレードを実行します (ステップ 1 および 2)。 これは、--upgrade
が明示的に指定されていない場合のデフォルトのアクションです。
NONE
サーバーは、起動プロセス中に自動アップグレードステップを実行しません (ステップ 1 および 2 はスキップします)。 このオプション値はデータディクショナリのアップグレードを妨げるため、データディクショナリが期限切れであることが判明した場合、サーバーはエラーで終了します:
[ERROR] [MY-013381] [Server] Server shutting down because upgrade is required, yet prohibited by the command line option '--upgrade=NONE'. [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
MINIMAL
サーバーは、必要に応じてデータディクショナリ、パフォーマンススキーマおよび INFORMATION_SCHEMA
をアップグレードします (ステップ 1)。 このオプションを使用したアップグレード後は、レプリケーション内部が依存するシステムテーブルは更新されず、他の領域でも機能が低下する可能性があるため、Group Replication を起動できないことに注意してください。
FORCE
サーバーは、必要に応じてデータディクショナリ、パフォーマンススキーマおよび INFORMATION_SCHEMA
をアップグレードします (ステップ 1)。 また、サーバーは他のすべてのものを強制的にアップグレードします (ステップ 2)。 サーバーはすべてのスキーマ内のすべてのオブジェクトをチェックするため、このオプションではサーバーの起動に時間がかかります。
FORCE
は、必要ないとサーバーが判断した場合に、ステップ 2 のアクションを強制的に実行する場合に役立ちます。 たとえば、システムテーブルが欠落しているか破損して修復を強制する必要があると考えられる場合があります。
次のテーブルは、各オプション値に対してサーバーが実行するアクションをまとめたものです。
オプション値 | サーバーはステップ 1 を実行しますか。 | サーバーはステップ 2 を実行しますか。 |
---|---|---|
AUTO |
必要に応じて | 必要に応じて |
NONE |
いいえ | いいえ |
MINIMAL |
必要に応じて | いいえ |
FORCE |
必要に応じて | はい |
--user={
, user_name
|user_id
}-u {
user_name
|user_id
}
コマンド行形式 | --user=name |
---|---|
型 | 文字列 |
mysqld サーバーを、名前 user_name
または数字ユーザー ID user_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
オプションが検出されると警告を出します。
コマンド行形式 | --validate-config[={OFF|ON}] |
---|---|
導入 | 8.0.16 |
型 | Boolean |
デフォルト値 | OFF |
サーバーの起動構成を検証します。 エラーが見つからない場合、サーバーは終了コード 0 で終了します。 エラーが見つかった場合、サーバーは診断メッセージを表示し、終了コード 1 で終了します。 警告および情報メッセージは、log_error_verbosity
の値によっては表示されることもありますが、即時検証の終了や終了コード 1 は生成されません。 詳細は、セクション5.1.3「サーバー構成の検証」を参照してください。
詳細なヘルプを得るには、このオプションを --help
オプションと一緒に使用します。
バージョン情報を表示して終了します。