文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  mysql_secure_installation — 提升 MySQL 安裝安全性

6.4.2 mysql_secure_installation — 提升 MySQL 安裝安全性

此程式可讓您透過下列方式提升 MySQL 安裝的安全性

  • 您可以設定 root 帳戶的密碼。

  • 您可以移除可從本機主機外部存取的 root 帳戶。

  • 您可以移除匿名使用者帳戶。

  • 您可以移除 test 資料庫(預設情況下所有使用者,甚至匿名使用者都可以存取),以及允許任何人存取名稱以 test_ 開頭的資料庫的權限。

mysql_secure_installation 可協助您實作與 第 2.9.4 節,「保護初始 MySQL 帳戶」 中描述的類似安全性建議。

正常用法是連線至本機 MySQL 伺服器;不帶引數調用 mysql_secure_installation

mysql_secure_installation

執行時,mysql_secure_installation 會提示您決定要執行的動作。

validate_password 元件可用於密碼強度檢查。如果未安裝外掛程式,mysql_secure_installation 會提示使用者是否要安裝它。之後輸入的任何密碼都會在使用外掛程式啟用時進行檢查。

大多數常見的 MySQL 用戶端選項,例如 --host--port,可以在命令列和選項檔案中使用。例如,若要使用連接埠 3307 透過 IPv6 連線至本機伺服器,請使用此命令

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

mysql_secure_installation 支援下列選項,這些選項可以在命令列或選項檔案的 [mysql_secure_installation][client] 群組中指定。如需 MySQL 程式使用的選項檔案的相關資訊,請參閱第 6.2.2.2 節,「使用選項檔案」

表 6.9 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 Socket 檔案或 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 金鑰的檔案
--ssl-mode 連線至伺服器的所需安全性狀態
--ssl-session-data 包含 SSL 會話資料的檔案
--ssl-session-data-continue-on-failed-reuse 如果會話重用失敗,是否要建立連線
--tls-ciphersuites 加密連線的允許 TLSv1.3 密碼套件
--tls-sni-servername 用戶端提供的伺服器名稱
--tls-version 加密連線的允許 TLS 協定
--use-default 以無使用者互動方式執行
--user 連線至伺服器時要使用的 MySQL 使用者名稱

  • --help, -?

    命令列格式 --help

    顯示說明訊息並結束。

  • --defaults-extra-file=file_name

    命令列格式 --defaults-extra-file=file_name
    類型 檔案名稱

    在全域選項檔案之後,但在 (Unix 上) 使用者選項檔案之前讀取此選項檔案。如果檔案不存在或無法存取,則會發生錯誤。如果 file_name 不是絕對路徑名稱,則會根據目前目錄進行解譯。

    關於此選項及其他選項檔案選項的更多資訊,請參閱第 6.2.2.3 節「影響選項檔案處理的命令列選項」

  • --defaults-file=檔案名稱

    命令列格式 --defaults-file=檔案名稱
    類型 檔案名稱

    僅使用指定的選項檔案。如果檔案不存在或無法存取,則會發生錯誤。如果 檔案名稱 不是絕對路徑名稱,則會將其解譯為相對於目前目錄。

    關於此選項及其他選項檔案選項的更多資訊,請參閱第 6.2.2.3 節「影響選項檔案處理的命令列選項」

  • --defaults-group-suffix=字串

    命令列格式 --defaults-group-suffix=字串
    類型 字串

    不僅讀取通常的選項群組,還讀取具有通常名稱且帶有 字串 後綴的群組。例如,mysql_secure_installation 通常會讀取 [client][mysql_secure_installation] 群組。如果此選項指定為 --defaults-group-suffix=_other,則 mysql_secure_installation 也會讀取 [client_other][mysql_secure_installation_other] 群組。

    關於此選項及其他選項檔案選項的更多資訊,請參閱第 6.2.2.3 節「影響選項檔案處理的命令列選項」

  • --host=主機名稱-h 主機名稱

    命令列格式 --host

    連線到指定主機上的 MySQL 伺服器。

  • --no-defaults

    命令列格式 --no-defaults

    不讀取任何選項檔案。如果程式啟動因從選項檔案讀取未知選項而失敗,可以使用 --no-defaults 來防止讀取它們。

    例外情況是,如果存在 .mylogin.cnf 檔案,則在所有情況下都會讀取該檔案。即使使用 --no-defaults,也可以用比在命令列上更安全的方式指定密碼。若要建立 .mylogin.cnf,請使用 mysql_config_editor 公用程式。請參閱第 6.6.7 節「mysql_config_editor — MySQL 設定公用程式」

    關於此選項及其他選項檔案選項的更多資訊,請參閱第 6.2.2.3 節「影響選項檔案處理的命令列選項」

  • --password=密碼-p 密碼

    命令列格式 --password=密碼
    類型 字串
    預設值 [無]

    此選項會被接受,但會被忽略。無論是否使用此選項,mysql_secure_installation 始終會提示使用者輸入密碼。

  • --port=連接埠號碼-P 連接埠號碼

    命令列格式 --port=連接埠號碼
    類型 數值
    預設值 3306

    對於 TCP/IP 連線,要使用的連接埠號碼。

  • --print-defaults

    命令列格式 --print-defaults

    列印程式名稱及其從選項檔案取得的所有選項。

    關於此選項及其他選項檔案選項的更多資訊,請參閱第 6.2.2.3 節「影響選項檔案處理的命令列選項」

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

    命令列格式 --protocol=類型
    類型 字串
    預設值 [請參閱文字]
    有效值

    TCP

    SOCKET

    PIPE

    MEMORY

    用於連線到伺服器的傳輸協定。當其他連線參數通常會導致使用您不想要的協定時,它很有用。關於允許值的詳細資訊,請參閱第 6.2.7 節「連線傳輸協定」

  • --socket=路徑-S 路徑

    命令列格式 --socket={檔案名稱|管道名稱}
    類型 字串

    對於與 localhost 的連線,要使用的 Unix Socket 檔案,或者在 Windows 上,要使用的具名管道的名稱。

    在 Windows 上,只有在伺服器啟動時啟用 named_pipe 系統變數以支援具名管道連線時,此選項才適用。此外,連線必須是 named_pipe_full_access_group 系統變數所指定的 Windows 群組的成員。

  • --ssl*

    開頭為 --ssl 的選項指定是否使用加密連線到伺服器,並指示在哪裡可以找到 SSL 金鑰和憑證。請參閱加密連線的命令選項

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

    命令列格式 --ssl-fips-mode={OFF|ON|STRICT}
    已棄用
    類型 列舉
    預設值 OFF
    有效值

    OFF

    ON

    STRICT

    控制是否在用戶端啟用 FIPS 模式。--ssl-fips-mode 選項與其他 --ssl-xxx 選項不同,它不是用於建立加密連線,而是用於影響允許哪些加密作業。請參閱第 8.8 節「FIPS 支援」

    允許使用這些 --ssl-fips-mode

    • OFF:停用 FIPS 模式。

    • ON:啟用 FIPS 模式。

    • STRICT:啟用 嚴格 FIPS 模式。

    注意

    如果 OpenSSL FIPS 物件模組不可用,則 --ssl-fips-mode 允許的唯一值是 OFF。在這種情況下,將 --ssl-fips-mode 設定為 ONSTRICT 會導致用戶端在啟動時產生警告,並在非 FIPS 模式下執行。

    此選項已棄用。預計會在未來的 MySQL 版本中移除。

  • --tls-ciphersuites=密碼套件清單

    命令列格式 --tls-ciphersuites=密碼套件清單
    類型 字串

    使用 TLSv1.3 的加密連線允許的密碼套件。該值是由一或多個以冒號分隔的密碼套件名稱組成的清單。此選項可命名的密碼套件取決於用於編譯 MySQL 的 SSL 程式庫。詳細資訊請參閱第 8.3.2 節「加密連線 TLS 協定和密碼」

  • --tls-sni-servername=伺服器名稱

    命令列格式 --tls-sni-servername=伺服器名稱
    類型 字串

    指定時,名稱會使用 mysql_options()MYSQL_OPT_TLS_SNI_SERVERNAME 選項傳遞給 libmysqlclient C API 程式庫。伺服器名稱不區分大小寫。若要顯示用戶端為目前連線指定的伺服器名稱(如果有的話),請檢查 Tls_sni_server_name 狀態變數。

    伺服器名稱指示 (SNI) 是 TLS 協定的擴充功能(必須使用 TLS 擴充功能編譯 OpenSSL,此選項才能運作)。SNI 的 MySQL 實作僅代表用戶端。

  • --tls-version=協定清單

    命令列格式 --tls-version=協定清單
    類型 字串
    預設值

    TLSv1,TLSv1.1,TLSv1.2,TLSv1.3(OpenSSL 1.1.1 或更高版本)

    TLSv1,TLSv1.1,TLSv1.2(否則)

    加密連線允許的 TLS 協定。該值是由一或多個以逗號分隔的協定名稱組成的清單。此選項可命名的協定取決於用於編譯 MySQL 的 SSL 程式庫。詳細資訊請參閱第 8.3.2 節「加密連線 TLS 協定和密碼」

  • --use-default

    命令列格式 --use-default
    類型 布林值

    以非互動方式執行。此選項可用於無人值守的安裝操作。

  • --user=使用者名稱-u 使用者名稱

    命令列格式 --user=使用者名稱
    類型 字串

    用於連線到伺服器的 MySQL 帳戶的使用者名稱。