文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  mysqlshow — 顯示資料庫、表格和欄位資訊

6.5.6 mysqlshow — 顯示資料庫、表格和欄位資訊

mysqlshow 用戶端可以用來快速查看哪些資料庫存在、它們的表格,或是表格的欄位或索引。

mysqlshow 提供幾個 SQL SHOW 陳述式的命令列介面。請參閱第 15.7.7 節,「SHOW 陳述式」。相同的資訊可以直接使用這些陳述式取得。例如,您可以從 mysql 用戶端程式發出這些陳述式。

像這樣呼叫 mysqlshow

mysqlshow [options] [db_name [tbl_name [col_name]]]
  • 如果沒有指定資料庫,則會顯示資料庫名稱的清單。

  • 如果沒有指定表格,則會顯示資料庫中所有符合的表格。

  • 如果沒有指定欄位,則會顯示表格中所有符合的欄位和欄位類型。

輸出只會顯示您具有某些權限的那些資料庫、表格或欄位的名稱。

如果最後一個引數包含 shell 或 SQL 通配符 (*?%_),則只會顯示符合該通配符的名稱。如果資料庫名稱包含任何底線,則應該使用反斜線 (某些 Unix shell 需要兩個) 來跳脫這些底線,以取得正確的表格或欄位清單。*? 字元會轉換為 SQL %_ 通配符。當您嘗試顯示名稱中帶有 _ 的表格的欄位時,這可能會造成一些混淆,因為在這種情況下,mysqlshow 只會顯示符合該模式的表格名稱。只要在命令列的最後面新增一個額外的 % 作為單獨的引數,就可以輕鬆解決這個問題。

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

表格 6.15 mysqlshow 選項

選項名稱 描述
--bind-address 使用指定的網路介面連線到 MySQL 伺服器
--character-sets-dir 可以找到字元集的目錄
--compress 壓縮用戶端和伺服器之間傳送的所有資訊
--compression-algorithms 允許連線到伺服器的壓縮演算法
--count 顯示每個表格的列數
--debug 寫入除錯記錄
--debug-check 程式結束時列印除錯資訊
--debug-info 程式結束時列印除錯資訊、記憶體和 CPU 統計資料
--default-character-set 指定預設字元集
--defaults-extra-file 除了常用的選項檔案外,還讀取指定的選項檔案
--defaults-file 只讀取指定的選項檔案
--defaults-group-suffix 選項群組後綴值
--enable-cleartext-plugin 啟用明文驗證外掛程式
--get-server-public-key 向伺服器要求 RSA 公開金鑰
--help 顯示說明訊息並結束
--host MySQL 伺服器所在的主機
--keys 顯示表格索引
--login-path 從 .mylogin.cnf 讀取登入路徑選項
--no-defaults 不讀取任何選項檔案
--no-login-paths 不從登入路徑檔案讀取登入路徑
--password 連線到伺服器時使用的密碼
--password1 連線到伺服器時使用的第一個多重要素驗證密碼
--password2 連線到伺服器時使用的第二個多重要素驗證密碼
--password3 連接伺服器時使用的第三個多因素驗證密碼
--pipe 使用具名管道連線至伺服器 (僅限 Windows)
--port 連線的 TCP/IP 通訊埠號碼
--print-defaults 列印預設選項
--protocol 要使用的傳輸協定
--server-public-key-path 包含 RSA 公開金鑰的檔案路徑名稱
--shared-memory-base-name 用於共用記憶體連線的共用記憶體名稱 (僅限 Windows)
--show-table-type 顯示一個欄位,指示資料表類型
--socket 要使用的 Unix socket 檔案或 Windows 具名管道
--ssl-ca 包含受信任 SSL 憑證授權單位清單的檔案
--ssl-capath 包含受信任 SSL 憑證授權單位憑證檔案的目錄
--ssl-cert 包含 X.509 憑證的檔案
--ssl-cipher 允許用於連線加密的密碼
--ssl-fips-mode 是否在用戶端啟用 FIPS 模式
--ssl-key 包含 X.509 金鑰的檔案
--ssl-mode 與伺服器連線所需的安全性狀態
--ssl-session-data 包含 SSL 會期資料的檔案
--ssl-session-data-continue-on-failed-reuse 如果會期重複使用失敗,是否建立連線
--status 顯示有關每個資料表的額外資訊
--tls-ciphersuites 允許用於加密連線的 TLSv1.3 密碼套件
--tls-sni-servername 由用戶端提供的伺服器名稱
--tls-version 允許用於加密連線的 TLS 協定
--user 連線至伺服器時要使用的 MySQL 使用者名稱
--verbose 詳細模式
--version 顯示版本資訊並結束
--zstd-compression-level 使用 zstd 壓縮連線至伺服器的壓縮層級

  • --help, -?

    命令列格式 --help

    顯示說明訊息並結束。

  • --bind-address=ip_address

    命令列格式 --bind-address=ip_address

    在具有多個網路介面的電腦上,使用此選項選取要用於連線至 MySQL 伺服器的介面。

  • --character-sets-dir=dir_name

    命令列格式 --character-sets-dir=路徑
    類型 字串
    預設值 [無]

    安裝字元集的目錄。請參閱第 12.15 節「字元集組態」

  • --compress, -C

    命令列格式 --compress[={OFF|ON}]
    已過時
    類型 布林值
    預設值 OFF

    盡可能壓縮用戶端和伺服器之間傳送的所有資訊。請參閱第 6.2.8 節「連線壓縮控制」

    此選項已過時。預計在未來版本的 MySQL 中將會移除。請參閱設定舊版連線壓縮

  • --compression-algorithms=value

    命令列格式 --compression-algorithms=值
    類型 集合
    預設值 未壓縮
    有效值

    zlib

    zstd

    未壓縮

    允許與伺服器連線的壓縮演算法。可用的演算法與protocol_compression_algorithms系統變數相同。預設值為 uncompressed

    如需更多資訊,請參閱第 6.2.8 節「連線壓縮控制」

  • --count

    命令列格式 --count

    顯示每個資料表的列數。對於非 MyISAM 資料表,這可能會很慢。

  • --debug[=debug_options], -# [debug_options]

    命令列格式 --debug[=debug_options]
    類型 字串
    預設值 d:t:o

    寫入偵錯記錄。典型的 debug_options 字串為 d:t:o,file_name。預設值為 d:t:o

    只有在使用 WITH_DEBUG 建置 MySQL 時,此選項才可用。Oracle 提供的 MySQL 發行二進位檔並非使用此選項建置。

  • --debug-check

    命令列格式 --debug-check
    類型 布林值
    預設值 FALSE

    在程式結束時列印一些偵錯資訊。

    只有在使用 WITH_DEBUG 建置 MySQL 時,此選項才可用。Oracle 提供的 MySQL 發行二進位檔並非使用此選項建置。

  • --debug-info

    命令列格式 --debug-info
    類型 布林值
    預設值 FALSE

    在程式結束時列印偵錯資訊和記憶體及 CPU 使用率統計資料。

    只有在使用 WITH_DEBUG 建置 MySQL 時,此選項才可用。Oracle 提供的 MySQL 發行二進位檔並非使用此選項建置。

  • --default-character-set=charset_name

    命令列格式 --default-character-set=charset_name
    類型 字串

    使用 charset_name 作為預設字元集。請參閱第 12.15 節「字元集組態」

  • --default-auth=plugin

    命令列格式 --default-auth=plugin
    類型 字串

    關於要使用哪個用戶端驗證外掛程式的提示。請參閱第 8.2.17 節「可插拔驗證」

  • --defaults-extra-file=file_name

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

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

    如需有關此選項和其他選項檔案選項的額外資訊,請參閱第 6.2.2.3 節「影響選項檔案處理的命令列選項」

  • --defaults-file=file_name

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

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

    例外:即使使用 --defaults-file,用戶端程式仍會讀取 .mylogin.cnf

    如需有關此選項和其他選項檔案選項的額外資訊,請參閱第 6.2.2.3 節「影響選項檔案處理的命令列選項」

  • --defaults-group-suffix=str

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

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

    如需有關此選項和其他選項檔案選項的額外資訊,請參閱第 6.2.2.3 節「影響選項檔案處理的命令列選項」

  • --enable-cleartext-plugin

    命令列格式 --enable-cleartext-plugin
    類型 布林值
    預設值 FALSE

    啟用 mysql_clear_password 純文字驗證外掛程式。(請參閱第 8.4.1.3 節「用戶端純文字可插拔驗證」。)

  • --get-server-public-key

    命令列格式 --get-server-public-key
    類型 布林值

    從伺服器請求其用於金鑰配對型密碼交換的 RSA 公開金鑰。此選項適用於使用 caching_sha2_password 驗證外掛程式驗證帳戶連線至伺服器的用戶端。對於此類帳戶的連線,除非要求,否則伺服器不會將公開金鑰傳送至用戶端。對於未使用該外掛程式驗證的帳戶,會忽略此選項。如果不需要基於 RSA 的密碼交換,也會忽略此選項,例如當用戶端使用安全連線連線至伺服器時。

    如果指定 --server-public-key-path=file_name 並指定有效的公開金鑰檔案,則其優先於 --get-server-public-key

    如需有關 caching_sha2_password 外掛程式的資訊,請參閱第 8.4.1.1 節「快取 SHA-2 可插拔驗證」

  • --host=host_name, -h host_name

    命令列格式 --host=host_name
    類型 字串
    預設值 localhost

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

  • --keys, -k

    命令列格式 --keys

    顯示資料表索引。

  • --login-path=name

    命令列格式 --login-path=名稱
    類型 字串

    .mylogin.cnf 登入路徑檔案中的具名登入路徑讀取選項。「登入路徑」是一個選項群組,其中包含指定要連線至哪個 MySQL 伺服器以及要驗證為哪個帳戶的選項。若要建立或修改登入路徑檔案,請使用 mysql_config_editor 公用程式。請參閱第 6.6.7 節「mysql_config_editor — MySQL 組態公用程式」

    如需有關此選項和其他選項檔案選項的額外資訊,請參閱第 6.2.2.3 節「影響選項檔案處理的命令列選項」

  • --no-login-paths

    命令列格式 --no-login-paths

    略過從登入路徑檔案讀取選項。

    如需相關資訊,請參閱--login-path

    如需有關此選項和其他選項檔案選項的額外資訊,請參閱第 6.2.2.3 節「影響選項檔案處理的命令列選項」

  • --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 帳戶的密碼。密碼值是可選的。如果未給定,mysqlshow 會提示輸入密碼。如果給定,則 --password=-p 與後面的密碼之間不得有空格。如果未指定密碼選項,則預設為不傳送密碼。

    在命令列上指定密碼應視為不安全的行為。若要避免在命令列上輸入密碼,請使用選項檔案。請參閱 章節 8.1.2.1,「密碼安全性的最終使用者指南」

    若要明確指定沒有密碼,並且 mysqlshow 不應提示輸入密碼,請使用 --skip-password 選項。

  • --password1[=pass_val]

    用於連線到伺服器的 MySQL 帳戶的多因素驗證因素 1 的密碼。密碼值是可選的。如果未給定,mysqlshow 會提示輸入密碼。如果給定,則 --password1= 與後面的密碼之間不得有空格。如果未指定密碼選項,則預設為不傳送密碼。

    在命令列上指定密碼應視為不安全的行為。若要避免在命令列上輸入密碼,請使用選項檔案。請參閱 章節 8.1.2.1,「密碼安全性的最終使用者指南」

    若要明確指定沒有密碼,並且 mysqlshow 不應提示輸入密碼,請使用 --skip-password1 選項。

    --password1--password 是同義的,--skip-password1--skip-password 也是同義的。

  • --password2[=pass_val]

    用於連線到伺服器的 MySQL 帳戶的多因素驗證因素 2 的密碼。此選項的語意與 --password1 的語意類似;請參閱該選項的描述以取得詳細資訊。

  • --password3[=pass_val]

    用於連線到伺服器的 MySQL 帳戶的多因素驗證因素 3 的密碼。此選項的語意與 --password1 的語意類似;請參閱該選項的描述以取得詳細資訊。

  • --pipe, -W

    命令列格式 --pipe
    類型 字串

    在 Windows 上,使用具名管道連線到伺服器。僅當伺服器啟動時啟用了 named_pipe 系統變數以支援具名管道連線時,此選項才適用。此外,進行連線的使用者必須是 named_pipe_full_access_group 系統變數指定的 Windows 群組的成員。

  • --plugin-dir=目錄名稱

    命令列格式 --plugin-dir=目錄名稱
    類型 目錄名稱

    要在其中尋找外掛程式的目錄。如果 --default-auth 選項用於指定驗證外掛程式,但 mysqlshow 找不到該外掛程式,請指定此選項。請參閱 章節 8.2.17,「可插拔驗證」

  • --port=port_num, -P port_num

    命令列格式 --port=port_num
    類型 數值
    預設值 3306

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

  • --print-defaults

    命令列格式 --print-defaults

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

    如需有關此選項和其他選項檔案選項的額外資訊,請參閱第 6.2.2.3 節「影響選項檔案處理的命令列選項」

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

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

    TCP

    SOCKET

    PIPE

    MEMORY

    用於連線到伺服器的傳輸協定。當其他連線參數通常導致使用您不想要的協定時,此選項非常有用。如需允許值的詳細資訊,請參閱 章節 6.2.7,「連線傳輸協定」

  • --server-public-key-path=檔案名稱

    命令列格式 --server-public-key-path=檔案名稱
    類型 檔案名稱

    PEM 格式檔案的路徑名稱,其中包含伺服器為 RSA 金鑰配對式密碼交換所需的公開金鑰的用戶端副本。此選項適用於使用 sha256_passwordcaching_sha2_password 驗證外掛程式進行驗證的用戶端。對於不使用這些外掛程式之一進行驗證的帳戶,此選項會被忽略。如果未使用基於 RSA 的密碼交換(例如用戶端使用安全連線連線到伺服器時),此選項也會被忽略。

    如果指定 --server-public-key-path=file_name 並指定有效的公開金鑰檔案,則其優先於 --get-server-public-key

    對於 sha256_password,僅當 MySQL 是使用 OpenSSL 建置時,此選項才適用。

    如需有關 sha256_passwordcaching_sha2_password 外掛程式的資訊,請參閱 章節 8.4.1.2,「SHA-256 可插拔驗證」,以及 章節 8.4.1.1,「快取 SHA-2 可插拔驗證」

  • --shared-memory-base-name=名稱

    命令列格式 --shared-memory-base-name=名稱
    平台特定 Windows

    在 Windows 上,使用共用記憶體連線到本機伺服器時要使用的共用記憶體名稱。預設值為 MYSQL。共用記憶體名稱區分大小寫。

    僅當伺服器啟動時啟用了 shared_memory 系統變數以支援共用記憶體連線時,此選項才適用。

  • --show-table-type, -t

    命令列格式 --show-table-type

    顯示一個指示表格類型的欄位,如 SHOW FULL TABLES 中所示。類型為 BASE TABLEVIEW

  • --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 的未來版本中移除。

  • --status, -i

    命令列格式 --status

    顯示有關每個表格的額外資訊。

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

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

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

  • --tls-sni-servername=server_name

    命令列格式 --tls-sni-servername=server_name
    類型 字串

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

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

  • --tls-version=protocol_list

    命令列格式 --tls-version=protocol_list
    類型 字串
    預設值

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

    TLSv1,TLSv1.1,TLSv1.2 (其他情況)

    加密連線允許的 TLS 通訊協定。此值為一或多個以逗號分隔的通訊協定名稱清單。此選項可命名的通訊協定取決於用來編譯 MySQL 的 SSL 程式庫。如需詳細資訊,請參閱第 8.3.2 節「加密連線 TLS 通訊協定與加密方法」

  • --user=user_name, -u user_name

    命令列格式 --user=user_name,
    類型 字串

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

  • --verbose, -v

    命令列格式 --verbose

    詳細模式。列印有關程式執行操作的更多資訊。可以多次使用此選項以增加資訊量。

  • --version, -V

    命令列格式 --version

    顯示版本資訊並結束。

  • --zstd-compression-level=level

    命令列格式 --zstd-compression-level=#
    類型 整數

    用於使用 zstd 壓縮演算法連線至伺服器的壓縮層級。允許的層級為 1 到 22,數值越大表示壓縮層級越高。預設的 zstd 壓縮層級為 3。壓縮層級設定對未使用 zstd 壓縮的連線沒有影響。

    如需更多資訊,請參閱第 6.2.8 節「連線壓縮控制」