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
, -Llang_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
有効な値 ALLOW_INVALID_DATES
ANSI_QUOTES
ERROR_FOR_DIVISION_BY_ZERO
HIGH_NOT_PRECEDENCE
IGNORE_SPACE
NO_AUTO_VALUE_ON_ZERO
NO_BACKSLASH_ESCAPES
NO_DIR_IN_CREATE
NO_ENGINE_SUBSTITUTION
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
TIME_TRUNCATE_FRACTIONAL
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
有効な値 OFF
COMMIT
ROLLBACK
手動ヒューリスティックリカバリで使用する決定。
--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
有効な値 READ-UNCOMMITTED
READ-COMMITTED
REPEATABLE-READ
SERIALIZABLE
デフォルトのトランザクション分離レベルを設定します。
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
有効な値 AUTO
NONE
MINIMAL
FORCE
このオプションは、サーバーが起動時に自動アップグレードを実行するかどうか、およびその方法を制御します。 自動アップグレードには、次の 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
または数字ユーザー 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
オプションが検出されると警告を出します。 -
コマンド行形式 --validate-config[={OFF|ON}]
導入 8.0.16 型 Boolean デフォルト値 OFF
サーバーの起動構成を検証します。 エラーが見つからない場合、サーバーは終了コード 0 で終了します。 エラーが見つかった場合、サーバーは診断メッセージを表示し、終了コード 1 で終了します。 警告および情報メッセージは、
log_error_verbosity
の値によっては表示されることもありますが、即時検証の終了や終了コード 1 は生成されません。 詳細は、セクション5.1.3「サーバー構成の検証」を参照してください。 -
詳細なヘルプを得るには、このオプションを
--help
オプションと一緒に使用します。 -
バージョン情報を表示して終了します。