MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  ...  /  mysql_secure_installation — MySQL インストールのセキュリティー改善

4.4.2 mysql_secure_installation — MySQL インストールのセキュリティー改善

このプログラムにより、次の方法で MySQL インストールのセキュリティーを改善できます。

  • root アカウントのパスワードを設定できます。

  • ローカルホスト以外からアクセス可能な root アカウントを削除できます。

  • 匿名ユーザーアカウントを削除できます。

  • test データベース (デフォルトでは、匿名ユーザーであっても、すべてのユーザーがアクセスできます)、および test_ で始まる名前を持つデータベースへのアクセスを許可する権限を削除できます。

mysql_secure_installation により、セクション2.10.4「初期 MySQL アカウントの保護」に述べられているのと同様のセキュリティーの推奨事項を実装しやすくなります。

通常の使用方法は、ローカル MySQL サーバーに接続することです。引数なしで mysql_secure_installation を呼び出します:

shell> mysql_secure_installation

実行されると、mysql_secure_installation により、実行するアクションを決定するよう求められます。

validate_password コンポーネントは、パスワード強度チェックに使用できます。 プラグインがインストールされていない場合、mysql_secure_installation はプラグインをインストールするかどうかをユーザーに確認します。 後で入力したパスワードは、プラグインを使用してチェックされます (有効になっている場合)。

--host--port などの通常の MySQL クライアントオプションのほとんどは、コマンドラインおよびオプションファイルで使用できます。 たとえば、ポート 3307 を使用して IPv6 経由でローカルサーバーに接続するには、次のコマンドを使用します:

shell> mysql_secure_installation --host=::1 --port=3307

mysql_secure_installation では、次のオプションがサポートされています。これらのオプションは、コマンドラインまたはオプションファイルの[mysql_secure_installation]および[client]グループで指定できます。 MySQL プログラムによって使用されるオプションファイルの詳細については、セクション4.2.2.2「オプションファイルの使用」を参照してください。

表 4.8 「mysql_secure_installation オプション」

オプション名 説明 導入
--defaults-extra-file 通常のオプションファイルに加えて、名前付きオプションファイルを読み取ります
--defaults-file 指名されたオプションファイルのみを読み取る
--defaults-group-suffix オプショングループのサフィクス値
--help ヘルプメッセージを表示して終了
--host MySQL サーバーがあるホスト
--no-defaults オプションファイルを読み取らない
--password 受け入れられましたが、常に無視されます。 mysql_secure_installation が起動されるたびに、ユーザーはパスワードの入力を求められます
--port 接続用の TCP/IP ポート番号
--print-defaults デフォルトオプションの印刷
--protocol 使用するトランスポートプロトコル
--socket 使用する Unix ソケットファイルまたは Windows 名前付きパイプ
--ssl-ca 信頼できる SSL 認証局のリストを含むファイル
--ssl-capath 信頼できる SSL 認証局の証明書ファイルを含むディレクトリ
--ssl-cert X.509 証明書を含むファイル
--ssl-cipher 接続の暗号化に許可される暗号
--ssl-crl 証明書失効リストを含むファイル
--ssl-crlpath 証明書失効リストファイルを含むディレクトリ
--ssl-fips-mode クライアント側で FIPS モードを有効にするかどうか
--ssl-key X.509 キーを含むファイル
--tls-ciphersuites 暗号化された接続に許可される TLSv1.3 暗号スイート 8.0.16
--tls-version 暗号化された接続に許可される TLS プロトコル
--use-default ユーザーの対話性なしで実行
--user サーバーへの接続時に使用する MySQL ユーザー名

  • --help, -?

    ヘルプメッセージを表示して終了します。

  • --defaults-extra-file=file_name

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

    このオプションおよびその他のオプションファイルオプションの詳細は、セクション4.2.2.3「オプションファイルの処理に影響するコマンド行オプション」 を参照してください。

  • --defaults-file=file_name

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

    このオプションおよびその他のオプションファイルオプションの詳細は、セクション4.2.2.3「オプションファイルの処理に影響するコマンド行オプション」 を参照してください。

  • --defaults-group-suffix=str

    通常のオプショングループだけでなく、通常の名前に str のサフィクスが付いたグループも読み取ります。 たとえば、mysql_secure_installation は通常、[client]および[mysql_secure_installation]グループを読み取ります。 --defaults-group-suffix=_other オプションが指定されている場合、mysql_secure_installation[client_other]および[mysql_secure_installation_other]グループも読み取ります。

    このオプションおよびその他のオプションファイルオプションの詳細は、セクション4.2.2.3「オプションファイルの処理に影響するコマンド行オプション」 を参照してください。

  • --host=host_name, -h host_name

    指定されたホストの MySQL サーバーに接続します。

  • --no-defaults

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

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

    このオプションおよびその他のオプションファイルオプションの詳細は、セクション4.2.2.3「オプションファイルの処理に影響するコマンド行オプション」 を参照してください。

  • --password=password, -p password

    このオプションは受け入れられますが、無視されます。 このオプションを使用するかどうかにかかわらず、mysql_secure_installation は常にユーザーにパスワードの入力を求めます。

  • --port=port_num, -P port_num

    TCP/IP 接続の場合、使用するポート番号。

  • --print-defaults

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

    このオプションおよびその他のオプションファイルオプションの詳細は、セクション4.2.2.3「オプションファイルの処理に影響するコマンド行オプション」 を参照してください。

  • --protocol={TCP|SOCKET|PIPE|MEMORY}

    サーバーへの接続に使用するトランスポートプロトコル。 これは、他の接続パラメータが通常、必要なプロトコル以外のプロトコルを使用する場合に便利です。 許可される値の詳細は、セクション4.2.7「接続トランスポートプロトコル」を参照してください。

  • --socket=path, -S path

    localhost への接続用に使用する、Unix ソケットファイル、または Windows では使用する名前付きパイプの名前。

    Windows では、このオプションは、名前付きパイプ接続をサポートするために named_pipe システム変数を有効にしてサーバーを起動した場合にのみ適用されます。 また、接続は、named_pipe_full_access_group システム変数で指定された Windows グループのメンバーである必要があります。

  • --ssl*

    --ssl で始まるオプションは、SSL を使用してサーバーに接続するかどうかを指定し、SSL 鍵および証明書を検索する場所を指定します。 暗号化接続のコマンドオプションを参照してください。

  • --ssl-fips-mode={OFF|ON|STRICT}

    クライアント側で FIPS モードを有効にするかどうかを制御します。 --ssl-fips-mode オプションは、暗号化された接続の確立には使用されず、許可する暗号化操作に影響する点で、他の --ssl-xxx オプションとは異なります。 セクション6.8「FIPS のサポート」を参照してください。

    次の --ssl-fips-mode 値を使用できます:

    • OFF: FIPS モードを無効にします。

    • ON: FIPS モードを有効にします。

    • STRICT: strict FIPS モードを有効にします。

    注記

    OpenSSL FIPS オブジェクトモジュールが使用できない場合、--ssl-fips-mode に許可される値は OFF のみです。 この場合、--ssl-fips-modeON または STRICT に設定すると、クライアントは起動時に警告を生成し、FIPS 以外のモードで動作します。

  • --tls-ciphersuites=ciphersuite_list

    TLSv1.3 を使用する暗号化された接続に許可される暗号スイート。 値は、コロンで区切られた 1 つ以上の暗号スイート名のリストです。 このオプションに指定できる暗号スイートは、MySQL のコンパイルに使用される SSL ライブラリによって異なります。 詳細は、セクション6.3.2「暗号化された接続 TLS プロトコルおよび暗号」を参照してください。

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

  • --tls-version=protocol_list

    暗号化された接続に許可される TLS プロトコル。 値は、1 つまたは複数のコンマ区切りプロトコル名のリストです。 このオプションに指定できるプロトコルは、MySQL のコンパイルに使用される SSL ライブラリによって異なります。 詳細は、セクション6.3.2「暗号化された接続 TLS プロトコルおよび暗号」を参照してください。

  • --use-default

    非対話形式で実行します。 このオプションは、自動インストール操作に使用できます。

  • --user=user_name, -u user_name

    サーバーへの接続に使用する MySQL アカウントのユーザー名。


関連キーワード:  接続, サーバー, プログラム, secure, installation, defaults, 暗号, コマンド, プロトコル, セクション