MySQL Shell 的實例傾印工具 util.dumpInstance()
和結構描述傾印工具 util.dumpSchemas()
支援將內部部署 MySQL 實例中的所有結構描述或選取的結構描述匯出至 Oracle Cloud Infrastructure Object Storage 儲存貯體或一組本機檔案。表格傾印工具 util.dumpTables()
支援從結構描述中選取的表格或檢視執行相同的操作。接著可以使用 util.loadDump()
工具將匯出的項目匯入至 HeatWave Service DB 系統或 MySQL Server 實例 (請參閱第 11.6 節「傾印載入工具」)。為了獲得最佳功能,請務必使用最新可用的 MySQL Shell 傾印和傾印載入工具版本。
MySQL Shell 的實例傾印工具、結構描述傾印工具和表格傾印工具提供 Oracle Cloud Infrastructure Object Storage 串流、HeatWave Service 相容性檢查和修改、使用多個執行緒的平行傾印和檔案壓縮,這些功能不是 mysqldump 提供的。傾印期間會顯示進度資訊。您可以使用選取的傾印選項執行預執行,以顯示將會執行的動作、將會傾印的項目,以及 (針對實例傾印工具和結構描述傾印工具) 當您使用這些選項實際執行公用程式時,需要修正哪些 HeatWave Service 相容性問題的相關資訊。
當選擇傾印檔案的目的地時,請注意,若要匯入至 HeatWave Service DB 系統,您在其中執行傾印載入工具的 MySQL Shell 實例必須安裝在可存取 HeatWave Service DB 系統的 Oracle Cloud Infrastructure Compute 執行個體上。如果將實例、結構描述或表格傾印至 Object Storage 儲存貯體,則您可以從 Compute 執行個體存取 Object Storage 儲存貯體。如果您在本機系統上建立傾印檔案,則您需要使用您選擇的複製工具,依據您為 Compute 執行個體選擇的作業系統,將其傳輸至 Oracle Cloud Infrastructure Compute 執行個體。
MySQL Shell 的實例傾印工具、結構描述傾印工具和表格傾印工具所建立的傾印包含指定結構描述結構的 DDL 檔案,以及包含資料的 Tab 分隔 .tsv
檔案。您也可以選擇僅產生 DDL 檔案或僅產生資料檔案,如果您想要設定匯出的結構描述作為與使用匯出資料填入結構描述的個別練習。您可以選擇是否在傾印期間鎖定實例進行備份,以確保資料一致性。預設情況下,傾印工具會將表格資料分塊為多個資料檔案,並壓縮這些檔案。
您可以使用公用程式的選項來包含或排除指定的結構描述和表格、使用者及其角色和授權、事件、常式和觸發程序。如果您指定衝突的包含和排除選項,或命名未包含在傾印中的物件,則會報告錯誤,且傾印會停止,以便您更正選項。如果您需要傾印 MySQL 實例中的大部分結構描述,作為替代策略,您可以使用實例傾印工具而非結構描述傾印工具,並指定 excludeSchemas
選項來列出不應傾印的那些結構描述。同樣地,如果您需要傾印結構描述中的大部分表格,您可以使用結構描述傾印工具和 excludeTables
選項,而不是表格傾印工具。
來自 MySQL Shell 的結構描述傾印工具所建立傾印中,永遠會排除 mysql.apply_status
、mysql.general_log
、mysql.schema
和 mysql.slow_log tables
的資料,但會包含其 DDL 陳述式。information_schema
、mysql
、ndbinfo
、performance_schema
和 sys
結構描述永遠會從實例傾印中排除。
預設情況下,傾印輸出中的所有時間戳記資料的時間區都會標準化為 UTC,這有助於在具有不同時間區的伺服器之間移動資料,以及處理具有多個時間區的資料。如果您想要保留原始的時間戳記,您可以使用 tzUtc: false
選項。
MySQL Shell 的傾印載入工具 util.loadDump()
支援使用預先驗證的要求 (PAR) 從 Object Storage 儲存貯體載入匯出的實例和結構描述。如需使用 PAR 載入傾印的相關資訊,請參閱第 11.6 節「傾印載入工具」。
MySQL Shell 的實例傾印工具、結構描述傾印工具和表格傾印工具可感知分割區 (請參閱分割區,位於MySQL 手冊中)。當要傾印的表格已分割區時,每個分割區都會被視為獨立的表格;如果表格有子分割區,則每個子分割區都會被視為獨立的表格。這也表示,當啟用分塊時,分割區或子分割區表格的每個分割區或子分割區都會獨立分塊。為分割區表格建立的傾印檔案的基礎名稱會使用
格式,其中 schema
@table
@partition
schema
和 table
分別是父結構描述和表格的名稱,而 partition
是分割區或子分割區的 URL 編碼名稱。
為了管理 MySQL Shell 工具較早版本不支援的功能新增,util.dumpInstance()
、util.dumpSchemas()
、util.dumpTables()
和 util.loadDump()
會將在建立傾印時使用的功能清單寫入傾印中繼資料檔案;對於每個這類功能,都會將一個元素新增至清單中。當傾印載入工具讀取中繼資料檔案,並發現列出不支援的功能時,會報告錯誤;錯誤訊息包含支援該功能的 MySQL Shell 版本。
實例傾印工具、結構描述傾印工具和表格傾印工具僅支援 MySQL Server 版本的正式發行 (GA) 版本。
目的地 MySQL 實例 (將載入傾印的位置) 必須使用 MySQL 5.7 或更新版本。
對於來源 MySQL 實例,在所有提供這些工具的 MySQL Shell 版本中,完全支援從 MySQL 5.7 或更新版本進行傾印。
實例或結構描述中的物件名稱必須使用
latin1
或utf8
字元集。僅對使用
InnoDB
儲存引擎的表格保證資料一致性。-
用來執行工具的使用者帳戶在所有相關結構描述上必須擁有的最低權限集如下:
EVENT
、RELOAD
、SELECT
、SHOW VIEW
和TRIGGER
。如果
consistent
選項設定為true
(這是預設值),則如果RELOAD
權限不可用,則所有傾印的表格上的LOCK TABLES
權限可以取代它。如果使用者帳戶沒有
BACKUP_ADMIN
權限,且無法執行LOCK INSTANCE FOR BACKUP
,則公用程式會在傾印期間進行額外的一致性檢查。如果此檢查失敗,則會停止實例傾印,但結構描述傾印或表格傾印會繼續,並傳回錯誤訊息以警告使用者一致性檢查失敗。如果
consistent
選項設定為false
,則不需要BACKUP_ADMIN
和RELOAD
權限。如果傾印來自 MySQL 5.6 實例,且包含使用者帳戶 (只有實例傾印工具才能這樣),則也需要
SUPER
權限。
執行此公用程式的使用者帳戶需要
REPLICATION CLIENT
權限,此公用程式才能在傾印的元資料中包含二進位日誌檔名和位置。如果使用者 ID 沒有該權限,傾印會繼續,但不包含二進位日誌資訊。在將傾印的資料載入到複本伺服器後,可以使用二進位日誌資訊,使用CHANGE REPLICATION SOURCE TO
陳述式的ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONS
選項,設定與非 GTID 來源伺服器的複寫。用於將檔案傳輸到 Oracle Cloud Infrastructure Object Storage 儲存體的上傳方法,其檔案大小限制為 1.2 TiB。
這些公用程式會將不適合以文字形式儲存的資料類型(例如
BLOB
)的欄轉換為 Base64。因此,這些欄的大小不得超過目標 MySQL 執行個體上設定的max_allowed_packet
系統變數值(以位元組為單位)的大約 0.74 倍。對於資料表傾印公用程式,匯出的檢視和觸發器不得使用限定名稱來參考其他檢視或資料表。
資料表傾印公用程式不會傾印常式,因此當載入傾印的物件時,傾印的物件(例如,使用函式的檢視)所參考的任何常式都必須已存在。
-
若要匯入 HeatWave Service DB 系統,請將
ocimds
選項設定為true
,以確保與 HeatWave Service 相容。重要事項遷移至 HeatWave Service 時,建議一律使用最新可用的 MySQL Shell 版本。
為了與 HeatWave Service 相容,所有資料表都必須使用
InnoDB
儲存引擎。ocimds
選項會檢查傾印中發現的任何例外狀況,而compatibility
選項會修改傾印檔案,以將其他儲存引擎取代為InnoDB
。對於執行個體傾印公用程式和綱要傾印公用程式,為了與 HeatWave Service 相容,執行個體或綱要中的所有資料表都必須位於 MySQL 資料目錄中,並且必須使用預設的綱要加密。
ocimds
選項會修改傾印檔案以應用這些需求。-
HeatWave Service 使用
partial_revokes=ON
,這表示在包含萬用字元(例如_
或%
)的綱要上,資料庫層級的使用者授與會回報為錯誤。您也可以使用相容性選項,
ignore_wildcard_grants
和strip_invalid_grants
如需詳細資訊,請參閱適用於 HeatWave Service 和 Oracle Cloud Infrastructure 的選項。
為了與 HeatWave Service 相容,許多其他與安全性相關的限制和需求會套用至資料表空間和權限等項目。
ocimds
選項會檢查傾印期間發現的任何例外狀況,而compatibility
選項會自動修改傾印檔案以解決一些相容性問題。您可能需要(或偏好)手動進行一些變更。如需更多詳細資訊,請參閱compatibility
選項的說明。對於使用 Group Replication 的 HeatWave Service 高可用性,每個資料表都需要主索引鍵。
ocimds
選項會檢查傾印中是否有任何缺少主索引鍵的資料表,並回報錯誤。如果您不需要主索引鍵,可以將compatibility
選項設定為忽略缺少的主索引鍵,或是通知 MySQL Shell 的傾印載入公用程式在沒有主索引鍵的地方新增隱形欄中的主索引鍵。如需詳細資訊,請參閱compatibility
選項的說明。如果可能,請考慮在來源伺服器上的資料表中建立主索引鍵,然後再重新傾印,而不是在公用程式中管理此行為。如果任何傾印公用程式針對 MySQL 5.7 執行,且
"ocimds": true
,則會自動執行util.checkForServerUpgrade
,除非skipUpgradeChecks
停用了這些檢查。預先升級檢查會根據傾印中包含的物件類型執行。
執行個體傾印公用程式、綱要傾印公用程式和資料表傾印公用程式使用 MySQL Shell 全域工作階段,從中取得要執行匯出的目標 MySQL 伺服器的連線詳細資料。您必須先開啟全域工作階段(可以有 X Protocol 連線或傳統 MySQL 通訊協定連線),才能執行其中一個公用程式。公用程式會為每個執行緒開啟自己的工作階段,從全域工作階段複製連線壓縮和 SSL 選項等選項,並且不會再使用全域工作階段。
在 MySQL Shell API 中,執行個體傾印公用程式、綱要傾印公用程式和資料表傾印公用程式是 util
全域物件的函式,且具有下列簽章
util.dumpInstance(outputUrl[, options])
util.dumpSchemas(schemas, outputUrl[, options])
util.dumpTables(schema, tables, outputUrl[, options])
options
是一個選項字典,如果它是空的,則可以省略。執行個體傾印公用程式、綱要傾印公用程式和資料表傾印公用程式的可用選項會列在本主題的其餘章節中。
對於綱要傾印公用程式,schemas
會指定要從 MySQL 執行個體傾印的一或多個綱要的清單。
對於資料表傾印公用程式,schema
會指定包含要傾印之項目的綱要,而 tables
則是指定要傾印的資料表或檢視的字串陣列。資料表傾印包含在目標 MySQL 執行個體中設定指定綱要所需資訊,不過,可以使用傾印載入公用程式的 schema
選項,將其載入到替代目標綱要中。
資料表傾印公用程式可用來從綱要選取個別資料表,例如,如果您想要在綱要之間傳輸資料表。在這個 MySQL Shell 的 JavaScript 模式範例中,會將 hr
綱要中的 employees
和 salaries
資料表匯出到本機目錄 emp
,此公用程式會在目前的工作目錄中建立該目錄
shell-js> util.dumpTables("hr", [ "employees", "salaries" ], "emp")
若要從指定的綱要傾印所有檢視和資料表,請使用 all
選項,並將 tables
參數設定為空陣列,如此範例所示
shell-js> util.dumpTables("hr", [], "emp", { "all": true })
如果您要傾印到本機檔案系統,outputUrl
是指定要放置傾印檔案的本機目錄路徑的字串。您可以指定絕對路徑或相對於目前工作目錄的路徑。您可以使用 file://
綱要為本機目錄路徑加上前置詞。在此範例中,連線的 MySQL 執行個體會傾印到本機目錄,並在傾印檔案中進行一些修改,以與 HeatWave Service 相容。使用者會先執行預執行以檢查綱要並檢視相容性問題,然後執行傾印,並套用適當的相容性選項來移除問題
shell-js> util.dumpInstance("C:/Users/hanna/worlddump", {dryRun: true, ocimds: true})
Checking for compatibility with HeatWave Service 8.0.33
...
Compatibility issues with HeatWave Service 8.0.33 were found. Please use the
'compatibility' option to apply compatibility adaptations to the dumped DDL.
Util.dumpInstance: Compatibility issues were found (RuntimeError)
shell-js> util.dumpInstance("C:/Users/hanna/worlddump", {
> ocimds: true, compatibility: ["strip_definers", "strip_restricted_grants"]})
在匯出發生之前,目標目錄必須是空的。如果該目錄尚未在其父目錄中存在,此公用程式會建立它。對於匯出至本機目錄,傾印期間建立的目錄會以存取權限 rwxr-x---
建立,而檔案會以存取權限 rw-r-----
建立(在支援這些權限的作業系統上)。檔案和目錄的擁有者是執行 MySQL Shell 的使用者帳戶。
如果您要傾印到 Oracle Cloud Infrastructure Object Storage 儲存體,outputUrl
是一個路徑,它將用於為儲存體中的傾印檔案加上前置詞,以模擬目錄結構。使用 osBucketName
選項來提供 Object Storage 儲存體的名稱,並使用 osNamespace
選項來識別儲存體的命名空間。在此範例中,使用者會將連線的 MySQL 執行個體的 world
綱要傾印到 Object Storage 儲存體,並具有與先前範例相同的相容性修改
shell-js> util.dumpSchemas(["world"], "worlddump", {
> "osBucketName": "hanna-bucket", "osNamespace": "idx28w1ckztq",
> "ocimds": "true", "compatibility": ["strip_definers", "strip_restricted_grants"]})
在 Object Storage 儲存體中,傾印檔案都會顯示前置詞 worlddump
,例如
worlddump/@.done.json
worlddump/@.json
worlddump/@.post.sql
worlddump/@.sql
worlddump/world.json
worlddump/world.sql
worlddump/world@city.json
worlddump/world@city.sql
worlddump/world@city@@0.tsv.zst
worlddump/world@city@@0.tsv.zst.idx
...
Object Storage 儲存體的命名空間會顯示在 Oracle Cloud Infrastructure 主控台中儲存體詳細資料頁面的儲存體資訊索引標籤中,或可以使用 Oracle Cloud Infrastructure 命令列介面取得。會使用預設 Oracle Cloud Infrastructure CLI 組態檔案中的預設設定檔,或使用您使用 ociConfigFile
和 ociProfile
選項指定的替代詳細資料,建立與 Object Storage 儲存體的連線。如需設定 CLI 組態檔案的指示,請參閱SDK 和 CLI 組態檔案。
-
dryRun: [ true | false ]
顯示關於使用指定的選項集會傾印哪些內容的資訊,以及關於 HeatWave Service 相容性檢查的結果(如果指定了
ocimds
選項),但不要繼續進行傾印。設定此選項可讓您在開始傾印之前列出所有相容性問題。預設值為false
。-
showProgress: [ true | false ]
顯示 (
true
) 或隱藏 (false
) 傾印的進度資訊。如果stdout
是終端機 (tty
),例如當 MySQL Shell 處於互動模式時,預設值為true
,否則為false
。進度資訊包括要傾印的預估總列數、目前已傾印的列數、完成的百分比,以及每秒的列數和位元組輸送量。-
threads:
int
用來從 MySQL 執行個體傾印資料區塊的平行執行緒數目。每個執行緒都有其與 MySQL 執行個體的連線。預設值為 4。
-
maxRate: "
string
" 在傾印期間,每個執行緒的資料讀取輸送量的每秒最大位元組數。可以使用單位字尾
k
表示 KB、M
表示 MB 和G
表示 GB(例如,設定100M
會將輸送量限制為每秒每個執行緒 100 MB)。設定0
(預設值)或將選項設定為空字串表示未設定任何限制。-
defaultCharacterSet: "
string
" 在 MySQL Shell 開啟至伺服器以進行傾印的工作階段連線期間要使用的字元集。預設值為
utf8mb4
。系統變數character_set_client
、character_set_connection
和character_set_results
的工作階段值會針對每個連線設定為此值。字元集必須是character_set_client
系統變數允許且 MySQL 執行個體支援的。-
consistent: [ true | false ]
-
啟用 (
true
) 或停用 (false
) 一致的資料傾印,方法是在傾印期間鎖定執行個體以進行備份。預設值為true
。當設定為
true
時,此工具會使用FLUSH TABLES WITH READ LOCK
陳述式設定全域讀取鎖定(如果用來執行此工具的使用者 ID 具有RELOAD
權限),或者使用LOCK TABLES
陳述式設定一系列的資料表鎖定(如果使用者 ID 沒有RELOAD
權限,但具有LOCK TABLES
權限)。每個執行緒的交易都會使用SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ
和START TRANSACTION WITH CONSISTENT SNAPSHOT
陳述式來啟動。當所有執行緒都啟動其交易後,執行個體會被鎖定以進行備份(如 LOCK INSTANCE FOR BACKUP 和 UNLOCK INSTANCE 陳述式中所述),並且會釋放全域讀取鎖定。如果使用者帳戶沒有
BACKUP_ADMIN
權限,且無法執行LOCK INSTANCE FOR BACKUP
,則公用程式會在傾印期間進行額外的一致性檢查。如果此檢查失敗,則會停止實例傾印,但結構描述傾印或表格傾印會繼續,並傳回錯誤訊息以警告使用者一致性檢查失敗。 -
skipConsistencyChecks: [ true | false ]
-
啟用 (
true
) 或停用 (false
) 當consistent: true
時執行的額外一致性檢查。預設值為false
。如果
consistent: false
,則會忽略此選項。 -
skipUpgradeChecks: [true | false]
預設值為
false
。啟用此選項可停用當ocimds: true
時預設執行的升級檢查。將不會檢查與 MySQL 版本升級相關的相容性問題。僅當您單獨執行升級檢查器時才使用此選項。
-
tzUtc: [ true | false ]
在傾印的開頭加入一個陳述式,將時區設定為 UTC。傾印輸出中的所有時間戳記資料都會轉換為此時區。預設值為
true
,因此時間戳記資料預設會轉換。將時區設定為 UTC 有助於在具有不同時區的伺服器之間移動資料,或處理具有多個時區的一組資料。如果偏好保留原始時間戳記,請將此選項設定為false
。-
compression: "
string
;level=n
" -
建立傾印檔案時要使用的壓縮類型和壓縮等級。以下壓縮選項可用
none
:不套用壓縮。-
gzip
:使用 gzip 壓縮函式庫。壓縮等級可以設定為 0 到 9。預設壓縮等級為 1。例如"compression": "gzip;level=4"
-
zstd
:預設值。使用 zstd 壓縮函式庫。壓縮等級可以設定為 1 到 22。預設壓縮等級為 1。例如"compression": "zstd;level=15"
-
checksum: [ true | false ]
-
如果啟用,將會產生一個中繼資料檔案
@.checksums.json
,其中包含傾印的檢查總和資料,以便在載入傾印時進行資料驗證。請參閱載入控制的選項。如果
checksum: true
,則適用以下條件如果
ddlOnly:false
且chunking:true
,則會為每個傾印的資料表和分割區區塊產生檢查總和。如果
ddlOnly:false
且chunking:false
,則會為每個傾印的資料表和資料表分割區產生檢查總和。如果
ddlOnly:true
,則會為每個傾印的資料表和資料表分割區產生檢查總和。
-
chunking: [ true | false ]
-
啟用 (
true
) 或停用 (false
) 資料表資料的區塊化,這會將每個資料表的資料分割成多個檔案。預設值為true
,因此預設會啟用區塊化。使用bytesPerChunk
來指定區塊大小。如果您將區塊化選項設定為false
,則不會進行區塊化,且工具會為每個資料表建立一個資料檔案。如果資料表沒有主索引鍵或唯一索引,則會根據資料表中的列數、平均列長度和
bytesPerChunk
值來完成區塊化。 -
bytesPerChunk: "
string
" 設定啟用區塊化時要寫入每個資料檔案的大約位元組數。可以使用單位後綴
k
代表千位元組、M
代表百萬位元組,以及G
代表十億位元組。預設值為 64 MB。指定此選項會隱式將chunking
設定為true
。此工具旨在將每個資料表的資料區塊化為檔案,每個檔案在套用壓縮之前都包含此數量的資料。區塊大小是平均值,並根據資料表統計資料和說明計畫估計值計算得出。-
dialect: [default|csv|csv-unix|tsv]
-
為匯出的資料檔案格式指定一組欄位和行處理選項。您可以使用選取的方言作為進一步自訂的基礎,方法是同時指定一個或多個
linesTerminatedBy
、fieldsTerminatedBy
、fieldsEnclosedBy
、fieldsOptionallyEnclosed
和fieldsEscapedBy
選項來變更設定。預設方言產生的資料檔案,會與使用
SELECT...INTO OUTFILE
陳述式且該陳述式使用預設設定建立的檔案相符。.txt
是適合指派給這些輸出檔案的檔案副檔名。其他方言可用於匯出 DOS 或 UNIX 系統 (.csv
) 的 CSV 檔案,以及 TSV 檔案 (.tsv
)。每個方言套用的設定如下
表 11.3 資料表匯出工具的方言設定
方言
linesTerminatedBy
fieldsTerminatedBy
fieldsEnclosedBy
fieldsOptionallyEnclosed
fieldsEscapedBy
default
[LF]
[TAB]
[空]
false
\
csv
[CR][LF]
,
''
true
\
csv-unix
[LF]
,
''
false
\
tsv
[CR][LF]
[TAB]
''
true
\
注意方言的回車和換行值與作業系統無關。
如果您使用
linesTerminatedBy
、fieldsTerminatedBy
、fieldsEnclosedBy
、fieldsOptionallyEnclosed
和fieldsEscapedBy
選項,根據您的命令解譯器的逸出慣例,如果您在選項值中使用反斜線字元 (\),則可能需要將其加倍。與使用
SELECT...INTO OUTFILE
陳述式的 MySQL 伺服器一樣,MySQL Shell 不會驗證您指定的欄位和行處理選項。這些選項的不準確選擇可能會導致資料部分或不正確地匯出。開始匯出之前,務必驗證您的設定,並在之後驗證結果。
-
linesTerminatedBy: "
characters
" 一個或多個字元(或空字串),工具會使用這些字元來終止匯出的資料檔案中的每一行。預設值與指定的方言相同,如果省略方言選項,則為換行字元 (
\n
)。此選項相當於SELECT...INTO OUTFILE
陳述式的LINES TERMINATED BY
選項。請注意,此工具沒有提供與SELECT...INTO OUTFILE
陳述式的LINES STARTING BY
選項相等的功能,該選項設定為空字串。-
fieldsTerminatedBy: "
characters
" 一個或多個字元(或空字串),工具會使用這些字元來終止匯出的資料檔案中的每個欄位。預設值與指定的方言相同,如果省略方言選項,則為 Tab 字元 (
\t
)。此選項相當於SELECT...INTO OUTFILE
陳述式的FIELDS TERMINATED BY
選項。-
fieldsEnclosedBy: "
character
" 單一字元(或空字串),工具會使用此字元來括住匯出的資料檔案中的每個欄位。預設值與指定的方言相同,如果省略方言選項,則為空字串。此選項相當於
SELECT...INTO OUTFILE
陳述式的FIELDS ENCLOSED BY
選項。-
fieldsOptionallyEnclosed: [ true | false ]
是否要使用
fieldsEnclosedBy
指定的字元來括住匯出的資料檔案中的所有欄位 (false
),或者僅在欄位具有字串資料類型(例如CHAR
、BINARY
、TEXT
或ENUM
)時括住欄位 (true
)。預設值與指定的方言相同,如果省略方言選項,則為false
。此選項會使fieldsEnclosedBy
選項相當於SELECT...INTO OUTFILE
陳述式的FIELDS OPTIONALLY ENCLOSED BY
選項。-
fieldsEscapedBy: "
character
" 將在匯出的資料檔案中開始逸出序列的字元。預設值與指定的方言相同,如果省略方言選項,則為反斜線 (\)。此選項相當於
SELECT...INTO OUTFILE
陳述式的FIELDS ESCAPED BY
選項。如果您將此選項設定為空字串,則不會逸出任何字元,不建議這樣做,因為必須逸出SELECT...INTO OUTFILE
使用的特殊字元。
-
where
-
一個鍵值配對,包含有效的資料表識別碼(格式為
),以及用來篩選匯出資料的有效 SQL 條件運算式。schemaName
.tableName
注意只有在執行 SQL 時才會驗證它。如果您要匯出許多資料表,則任何與 SQL 語法相關的問題只會在流程後期看到。因此,建議您先測試 SQL 條件,再將其用於長時間執行的匯出流程中。
在以下範例中,
where
只會將actor_id
值大於 150 的sakila.actor
和sakila.actor_info
資料表中的列匯出到名為out
的本機資料夾util.dumpTables("sakila", ["actor","actor_info"], "out", {"where" : {"sakila.actor": "actor_id > 150", "sakila.actor_info": "actor_id > 150"}})
-
partitions: {
schemaName.tableName
: ["string
","string
",..]} -
有效的分割區名稱清單,用於將匯出限制為指定的分割區。
例如,若要僅匯出資料表
schema.table
中名為p1
和p2
的分割區:partitions: {schema.table:["p1", "p2"]}
。以下範例會從 table1 匯出分割區 p1 和 p2,並從 table2 匯出分割區 p2。
util.dumpTables("schema", ["table","table2"], "out", {"partitions" : { "schema.table1": ["p1", "p2"],"schema.table2": ["p1"]}})
-
ddlOnly: [ true | false ]
將此選項設定為
true
,則在傾印中僅包含傾印項目的 DDL 檔案,而不傾印資料。預設值為false
。-
dataOnly: [ true | false ]
將此選項設定為
true
,則在傾印中僅包含傾印項目的資料檔案,而不包含 DDL 檔案。預設值為false
。-
users: [ true | false ]
-
(僅限執行個體傾印公用程式) 在傾印中包含 (
true
) 或排除 (false
) 使用者及其角色和授權。預設值為true
,因此預設會包含使用者。結構描述傾印公用程式和表格傾印公用程式不會在傾印中包含使用者、角色和授權。您可以使用
excludeUsers
或includeUsers
選項,指定要從傾印檔案中排除或包含的個別使用者帳戶。這些選項也可以與 MySQL Shell 的傾印載入公用程式util.loadDump()
搭配使用,以便在匯入時根據目標 MySQL 執行個體的需求排除或包含個別使用者帳戶。注意如果從 MySQL 5.6 執行個體傾印使用者,執行複製的使用者必須具有 SUPER 權限。
-
excludeUsers:
字串陣列
(僅限執行個體傾印公用程式) 從傾印檔案中排除具名的使用者帳戶。您可以使用它來排除不接受匯入 HeatWave Service DB 系統的使用者帳戶,或是在目標 MySQL 執行個體上已存在或是不需要的使用者帳戶。針對使用使用者名稱和主機名稱定義的帳戶,以
"'
格式指定每個使用者帳戶字串,或是針對僅使用使用者名稱定義的帳戶,以user_name
'@'host_name
'""'
格式指定。如果您沒有提供主機名稱,則會排除所有具有該使用者名稱的帳戶。user_name
'"-
includeUsers:
字串陣列
(僅限執行個體傾印公用程式) 在傾印檔案中僅包含具名的使用者帳戶。針對
excludeUsers
選項,指定每個使用者帳戶字串。如果傾印中只需要少數幾個使用者帳戶,則此選項是excludeUsers
的替代選項。您也可以同時指定這兩個選項,以包含某些帳戶並排除其他帳戶。-
excludeSchemas:
字串陣列
(僅限執行個體傾印公用程式) 從傾印中排除具名的結構描述。請注意,
information_schema
、mysql
、ndbinfo
、performance_schema
和sys
結構描述一律會從執行個體傾印中排除。-
includeSchemas:
字串陣列
(僅限執行個體傾印公用程式) 在傾印中僅包含具名的結構描述。您無法在此選項中命名
information_schema
、mysql
、ndbinfo
、performance_schema
或sys
結構描述,以將其包含在內。如果您想要傾印一或多個這些結構描述,可以使用結構描述傾印公用程式util.dumpSchemas()
執行此操作。-
excludeTables:
字串陣列
-
(僅限執行個體傾印公用程式和結構描述傾印公用程式) 從傾印中排除具名的表格。表格名稱必須以有效的結構描述名稱限定,並視需要以反引號字元引號括住。
excludeTables
選項命名的表格在傾印中沒有 DDL 檔案或資料檔案。請注意,mysql.apply_status
、mysql.general_log
、mysql.schema
和mysql.slow_log tables
的資料一律會從結構描述傾印中排除,即使它們的 DDL 陳述式包含在內,而且您無法藉由在另一個選項或公用程式中命名表格來包含該資料。注意包含多位元組字元的結構描述和表格名稱必須以反引號括住。
-
includeTables:
字串陣列
-
(僅限執行個體傾印公用程式和結構描述傾印公用程式) 在傾印中僅包含具名的表格。表格名稱必須以有效的結構描述名稱限定,並視需要以反引號字元引號括住。
注意包含多位元組字元的結構描述和表格名稱必須以反引號括住。
-
events: [ true | false ]
(僅限執行個體傾印公用程式和結構描述傾印公用程式) 在傾印中包含 (
true
) 或排除 (false
) 每個結構描述的事件。預設值為true
。-
excludeEvents:
字串陣列
(僅限執行個體傾印公用程式和結構描述傾印公用程式) 從傾印中排除具名的事件。事件名稱必須以有效的結構描述名稱限定,並視需要以反引號字元引號括住。
-
includeEvents:
字串陣列
(僅限執行個體傾印公用程式和結構描述傾印公用程式) 在傾印中僅包含具名的事件。事件名稱必須以有效的結構描述名稱限定,並視需要以反引號字元引號括住。
-
routines: [ true | false ]
(僅限執行個體傾印公用程式和結構描述傾印公用程式) 在傾印中包含 (
true
) 或排除 (false
) 每個結構描述的函式和預存程序。預設值為true
。請注意,即使routines
設定為true
,也不會包含使用者定義的函式。-
excludeRoutines:
字串陣列
(僅限執行個體傾印公用程式和結構描述傾印公用程式) 從傾印中排除具名的函式和預存程序。常式名稱必須以有效的結構描述名稱限定,並視需要以反引號字元引號括住。
-
includeRoutines:
字串陣列
(僅限執行個體傾印公用程式和結構描述傾印公用程式) 在傾印中僅包含具名的函式和預存程序。常式名稱必須以有效的結構描述名稱限定,並視需要以反引號字元引號括住。
-
all: [ true | false ]
-
(僅限表格傾印公用程式) 將此選項設定為
true
,則在傾印中會包含指定結構描述中的所有檢視表和表格。預設值為false
。當您使用此選項時,請將tables
參數設定為空陣列,例如shell-js> util.dumpTables("hr", [], "emp", { "all": true })
-
triggers: [ true | false ]
(所有傾印公用程式) 在傾印中包含 (
true
) 或排除 (false
) 每個表格的觸發程序。預設值為true
。-
excludeTriggers:
字串陣列
(所有傾印公用程式) 從傾印中排除具名的觸發程序。觸發程序名稱必須以有效的結構描述名稱和表格名稱 (
schema.table.trigger
) 限定,並視需要以反引號字元引號括住。您可以使用此選項 (schema.table
) 指定結構描述名稱和表格名稱,以排除特定表格的所有觸發程序。-
includeTriggers:
字串陣列
(所有傾印公用程式) 在傾印中僅包含具名的觸發程序。觸發程序名稱必須以有效的結構描述名稱和表格名稱 (
schema.table.trigger
) 限定,並視需要以反引號字元引號括住。您可以使用此選項 (schema.table
) 指定結構描述名稱和表格名稱,以包含特定表格的所有觸發程序。
-
osBucketName: "
字串
" Oracle Cloud Infrastructure Object Storage 值區的名稱,傾印將寫入其中。依預設,位於
~/.oci/config
的 Oracle Cloud Infrastructure CLI 設定檔中的[DEFAULT]
設定檔會用來建立與值區的連線。您可以使用ociConfigFile
和ociProfile
選項,取代要用於連線的替代設定檔。如需設定 CLI 設定檔的指示,請參閱SDK 和 CLI 設定檔。-
osNamespace: "
字串
" 由
osBucketName
命名之 Object Storage 值區所在的 Oracle Cloud Infrastructure 命名空間。Object Storage 值區的命名空間會顯示在 Oracle Cloud Infrastructure 主控台中值區詳細資料頁面的「值區資訊」索引標籤中,也可以使用 Oracle Cloud Infrastructure 命令列介面取得。-
ociConfigFile: "
字串
" 包含要用於連線之設定檔的 Oracle Cloud Infrastructure CLI 設定檔,而不是在預設位置
~/.oci/config
中的設定檔。-
ociProfile: "
字串
" 要用於連線之 Oracle Cloud Infrastructure 設定檔的設定檔名稱,而不是用於連線之 Oracle Cloud Infrastructure CLI 設定檔中的
[DEFAULT]
設定檔。-
ocimds: [ true | false ]
-
將此選項設定為
true
,會啟用檢查和修改以確保與 HeatWave Service 的相容性。預設值為false
。重要事項遷移至 HeatWave Service 時,建議一律使用最新可用的 MySQL Shell 版本。
當此選項設定為
true
時,CREATE TABLE
陳述式中的DATA DIRECTORY
、INDEX DIRECTORY
和ENCRYPTION
選項會以註解方式出現在 DDL 檔案中,以確保所有表格都位於 MySQL 資料目錄中,並使用預設的結構描述加密。會針對CREATE TABLE
陳述式中,InnoDB
以外的任何儲存引擎、不適合的權限授與使用者或角色,以及其他相容性問題執行檢查。如果發現任何不符合規定的 SQL 陳述式,則會引發例外狀況,且傾印會停止。在啟動傾印程序之前,請使用dryRun
選項列出傾印項目中的所有問題。使用compatibility
選項,自動修正傾印輸出中的問題。此選項預設設定為
false
,只有明確設定為true
時才會啟用。注意如果針對 MySQL 5.7 執行任何傾印公用程式,且
"ocimds": true
,則會自動執行util.checkForServerUpgrade
。預先升級檢查會根據傾印中包含的物件類型執行。 -
targetVersion
:n.n.n
-
定義目標 MySQL 執行個體的版本,格式為 n.n.n。例如 8.1.0。如果未設定此值,則會使用 MySQL Shell 的版本。
相容性檢查會根據
targetVersion
的值進行調整。 -
compatibility:
字串陣列
-
針對傾印輸出中的所有資料表,套用指定的 HeatWave Service 相容性需求,並在必要時修改傾印檔案。
下列修改可以指定為字串陣列
-
force_innodb
變更
CREATE TABLE
陳述式,以便針對任何尚未使用的資料表,使用InnoDB
儲存引擎。-
skip_invalid_accounts
移除使用 HeatWave Service 不支援的外部驗證外掛程式建立的使用者帳戶。此選項也會移除未設定密碼的使用者帳戶,除非沒有密碼的帳戶被識別為角色,在這種情況下,會使用
CREATE ROLE
陳述式進行傾印。-
strip_definers
-
注意
如果目標 HeatWave Service 執行個體為 8.2.0 或更高版本,則不需要此選項。
從 MySQL Server 8.2.0 開始,
SET_USER_ID
已被棄用,並將在未來的版本中移除。SET_USER_ID
已被SET_ANY_DEFINER
和ALLOW_NONEXISTENT_DEFINER
取代。此變更會影響 MySQL Shell 處理用於 HeatWave Service 的傾印 (ocimds: true
) 的方式,因為管理員使用者擁有SET_ANY_DEFINER
權限,並且能夠使用DEFINER
子句執行陳述式。這在之前的版本中是不可能的。從檢視、常式、事件和觸發器中移除
DEFINER
子句,以便使用預設定義器 (調用結構描述的使用者) 建立這些物件,並將檢視和常式的SQL SECURITY
子句變更為指定INVOKER
而非DEFINER
。HeatWave Service 需要特殊權限才能建立這些物件,其定義器不是載入結構描述的使用者。如果您的安全性模型要求檢視和常式的權限大於查詢或呼叫它們的帳戶,您必須在載入結構描述之前手動修改它。 -
strip_restricted_grants
從
GRANT
陳述式中移除 HeatWave Service 限制的特定權限,以便使用者及其角色無法被授予這些權限 (這會導致使用者建立失敗)。如果 Oracle Cloud Infrastructure Compute 執行個體上的管理員使用者帳戶本身沒有相關權限,則此選項也會移除系統結構描述 (mysql
和sys
) 的REVOKE
陳述式,因此無法移除它們。-
strip_tablespaces
從
CREATE TABLE
陳述式中移除TABLESPACE
子句,以便所有資料表都在其預設資料表空間中建立。HeatWave Service 對資料表空間有一些限制。-
ignore_missing_pks
使執行個體、結構描述或資料表傾印公用程式在執行傾印時忽略任何遺失的主鍵,以便在不因這個檢查而停止傾印的情況下,仍然可以使用
ocimds
選項。使用此修改建立的傾印無法載入到 HeatWave Service 高可用性執行個體,因為 HeatWave Service 高可用性 (使用 Group Replication) 需要主鍵。若要改為新增遺失的主鍵,請使用create_invisible_pks
修改,或考慮在來源伺服器上的資料表中建立主鍵。-
ignore_wildcard_grants
如果啟用,則會忽略在啟用
partial_revokes
系統變數的系統中,對具有萬用字元的結構描述授權時發生的錯誤,因為它們的解釋方式不同。-
strip_invalid_grants
如果啟用,則會移除在載入使用者時會失敗的授權陳述式。例如,參考不存在的特定常式的授權。
-
create_invisible_pks
-
在傾印中繼資料中新增旗標,以通知 MySQL Shell 的傾印載入公用程式,針對每個未包含主鍵的資料表,在不可見的欄位中新增主鍵。此修改可以讓缺少主鍵的某些資料表的傾印載入到 HeatWave Service 高可用性執行個體。HeatWave Service 高可用性 (使用 Group Replication) 需要主鍵。
此修改不會變更傾印資料,因為資料表在經過傾印載入公用程式處理之前,不會包含不可見的欄位。不可見的欄位 (命名為 "
my_row_id
") 不會對使用上傳資料表的應用程式造成影響。以這種方式新增主鍵還無法啟用修改後的資料表到高可用性執行個體的入站複寫,因為該功能目前要求主鍵同時存在於來源伺服器和複本伺服器中。如果可能,請考慮在來源伺服器上的資料表中建立主鍵,然後再次傾印它們,而不是使用此修改。您可以使用不可見的欄位來保存主鍵,這樣做不會對應用程式造成影響。這是效能和可用性的最佳實務,並有助於傾印的資料庫與 HeatWave Service 無縫運作。
注意由於 MySQL 8.0.23 中隱藏欄位的限制,MySQL Shell 的傾印載入公用程式只能用於載入使用
create_invisible_pks
選項在目標 MySQL 執行個體版本 8.0.24 或更高版本上建立的傾印。
-
MySQL Shell 支援將 MySQL 資料傾印到與 S3 相容的儲存貯體,例如 Amazon Web Services (AWS) S3。
MySQL Shell 支援在命令列選項、環境變數和設定檔中進行 AWS S3 設定。命令列選項會覆寫環境變數、設定檔和預設選項。
如需設定需求的相關資訊,請參閱 第 4.7 節「雲端服務設定」。
-
s3BucketName: "
字串
" 要將傾印寫入的 S3 儲存貯體名稱。預設情況下,位於
~/.aws/
的config
和credentials
檔案的預設
設定檔用於建立與 S3 儲存貯體的連線。您可以使用s3ConfigFile
和s3CredentialsFile
選項,將替代組態和認證用於連線。如需安裝和設定 AWS CLI 的說明,請參閱AWS CLI 入門。-
s3CredentialsFile:"
字串
" 包含使用者認證的認證檔案,用於連線,而不是預設位置
~/.aws/credentials
中的檔案。通常,認證檔案包含用於連線的aws_access_key_id
和aws_secret_access_key
。-
s3ConfigFile: "
字串
" 包含用於連線的設定檔的設定檔,而不是預設位置中的設定檔,例如
~/.aws/config
。通常,設定檔包含用於連線的區域和輸出類型。-
s3Profile: "
字串
" 要用於連線的 s3 CLI 設定檔的設定檔名稱,而不是
預設
設定檔。-
s3Region: "
字串
" 要用於連線的區域名稱。
-
s3EndpointOverride: "
字串
" -
要使用的端點 URL,而不是預設端點。
連線到 Oracle Cloud Infrastructure S3 相容性 API 時,端點採用以下格式:
https://
。將命名空間
.compat.objectstorage.區域
.oraclecloud.com命名空間
替換為 Object Storage 命名空間,並將區域
替換為您的區域識別碼。例如,美國東部 (阿什本) 區域的區域識別碼為us-ashburn-1
。針對美國東部 (阿什本) 區域中名為 axaxnpcrorw5 的命名空間
https://axaxnpcrorw5.compat.objectstorage.us-ashburn-1.oraclecloud.com
.
以下範例顯示將 MySQL 執行個體傾印到 S3 儲存貯體 Bucket001
中的資料夾 test
,並使用一些相容性選項
util.dumpInstance("test",{s3bucketName: "Bucket001", threads: 4,
compatibility: ["strip_restricted_grants", "strip_definers", "ignore_missing_pks"]})
以下範例顯示將 MySQL 執行個體傾印到物件儲存貯體 Bucket001
中的前置詞 test
,使用設定檔 oci
,s3EndpointOverride
將連線導向所需租用戶和區域的 OCI 端點,並使用一些相容性選項
util.dumpInstance("test",{s3BucketName: "Bucket001",
s3EndpointOverride: "https://axaxnpcrorw5.compat.objectstorage.us-ashburn-1.oraclecloud.com",
s3Profile: "oci", threads: 4,
compatibility: ["strip_restricted_grants", "strip_definers", "ignore_missing_pks"]})
MySQL Shell 支援傾印到 Microsoft Azure Blob Storage。
MySQL Shell 支援在命令列選項、環境變數和設定檔中進行 Microsoft Azure Blob Storage 設定。命令列選項會覆寫環境變數和設定檔。
如需設定需求和設定類型優先順序的相關資訊,請參閱第 4.7 節「雲端服務設定」。
-
azureContainerName: "
字串
" 強制。要將傾印寫入的 Azure 容器名稱。容器必須存在。
-
azureConfigFile: "
字串
" -
選用。包含儲存連線參數的設定檔,而不是預設位置中的設定檔,例如
~/.azure/config
。如果未定義,則會使用預設設定檔。必須定義
azureContainerName
,且不得為空。 -
azureStorageAccount: "
字串
" 選用。要用於操作的 Azure 儲存帳戶名稱。
-
azureStorageSasToken: "
字串
" 選用。用於操作驗證的 Azure 共用存取簽章 (SAS) 權杖,而不是金鑰。
在以下範例中,組態使用連線參數的組態字串,這表示 dump 指令只需要 azureContainerName
。
範例 config
檔案
[cloud]
name = AzureCloud
[storage]
connection_string=alphanumericConnectionString
範例 dumpInstance
指令,將執行個體的內容匯出到名為 prefix1
的資料夾,在名為 mysqlshellazure
的容器中。
util.dumpInstance("prefix1", {azureContainerName: "mysqlshellazure", threads: 4})
outputURL
也可以是儲存桶或前綴的預先驗證請求 (Pre-Authenticated Request,PAR)。這可讓您將資料直接傾印至 OCI 物件儲存儲存桶。
必須啟用下列權限來定義 PAR
允許物件讀取和寫入
啟用物件清單
如果將 PAR 定義為 outputURL
,則不支援下列選項,如果使用,將會產生錯誤
osBucketName
s3BucketName
azureContainerName
僅支援儲存桶和前綴 PAR 作為 outputURL
。無法使用物件 PAR。
如果 PAR 不受支援或未定義正確的權限,則會傳回 OCI 錯誤。
如果目標儲存桶不是空的,則作業會失敗並傳回錯誤。如果存在具有已定義前綴的物件,則作業會失敗並傳回錯誤。
當您定義前綴 par 時,產生的 PAR URL 不包含已定義的前綴。您必須手動將其新增至 URL。
儲存桶 PAR 範例
以下範例會將執行個體傾印至已定義的儲存桶 PAR
util.dumpInstance("https://objectstorage.region.oraclecloud.com/p/secret/n/myTenancy/b/myBucket/o/")
以下範例會將綱要 sakila
傾印至已定義的儲存桶 PAR
util.dumpSchemas(["sakila"], "https://objectstorage.region.oraclecloud.com/p/secret/n/myTenancy/b/myBucket/o/")
以下範例會將資料表 sakila.actor
傾印至已定義的儲存桶 PAR
util.dumpTables("sakila", ["actor"], "https://objectstorage.region.oraclecloud.com/p/secret/n/myTenancy/b/myBucket/o/")
前綴 PAR 範例
當您定義前綴 par 時,產生的 PAR URL 不包含已定義的前綴。您必須手動將其新增至 URL。
以下範例會將執行個體傾印至已定義儲存桶 PAR 中,前綴為 MyPrefix
的位置
util.dumpInstance("https://objectstorage.region.oraclecloud.com/p/secret/n/myTenancy/b/myBucket/o/MyPrefix/")
以下範例會將綱要 sakila
傾印至已定義儲存桶 PAR 中,前綴為 MyPrefix
的位置
util.dumpSchemas(["sakila"], "https://objectstorage.region.oraclecloud.com/p/secret/n/myTenancy/b/myBucket/o/MyPrefix/")
以下範例會將資料表 sakila.actor
傾印至已定義儲存桶 PAR 中,前綴為 MyPrefix
的位置
util.dumpTables("sakila", ["actor"], "https://objectstorage.region.oraclecloud.com/p/secret/n/myTenancy/b/myBucket/o/MyPrefix/")
範圍在 52000-52999 的錯誤編號是 MySQL Shell 的執行個體傾印公用程式 util.dumpInstance()
、綱要傾印公用程式 util.dumpSchemas()
以及資料表傾印公用程式 util.dumpTables()
所專用的。可能會傳回下列錯誤
-
錯誤編號:
52000
;符號:SHERR_DUMP_LOCK_TABLES_MISSING_PRIVILEGES
訊息:使用者 %s 缺少 %s 的下列權限:%s。
-
錯誤編號:
52001
;符號:SHERR_DUMP_GLOBAL_READ_LOCK_FAILED
訊息:無法取得全域讀取鎖定
-
錯誤編號:
52002
;符號:SHERR_DUMP_LOCK_TABLES_FAILED
訊息:無法鎖定資料表:%s。
-
錯誤編號:
52003
;符號:SHERR_DUMP_CONSISTENCY_CHECK_FAILED
訊息:一致性檢查失敗。
-
錯誤編號:
52004
;符號:SHERR_DUMP_COMPATIBILITY_ISSUES_FOUND
訊息:發現相容性問題
-
錯誤編號:
52005
;符號:SHERR_DUMP_COMPATIBILITY_OPTIONS_FAILED
訊息:無法套用部分相容性選項
-
錯誤編號:
52006
;符號:SHERR_DUMP_WORKER_THREAD_FATAL_ERROR
訊息:傾印期間發生嚴重錯誤
-
錯誤編號:
52007
;符號:SHERR_DUMP_MISSING_GLOBAL_PRIVILEGES
訊息:使用者 %s 缺少下列全域權限:%s。
-
錯誤編號:
52008
;符號:SHERR_DUMP_MISSING_SCHEMA_PRIVILEGES
訊息:使用者 %s 缺少綱要 %s 的下列權限:%s。
-
錯誤編號:
52009
;符號:SHERR_DUMP_MISSING_TABLE_PRIVILEGES
訊息:使用者 %s 缺少資料表 %s 的下列權限:%s。
-
錯誤編號:
52010
;符號:SHERR_DUMP_NO_SCHEMAS_SELECTED
訊息:綱要的篩選條件會產生空的集合。
-
錯誤編號:
52011
;符號:SHERR_DUMP_MANIFEST_PAR_CREATION_FAILED
訊息:為物件 '%s' 建立 PAR 失敗:%s
-
錯誤編號:
52012
;符號:SHERR_DUMP_DW_WRITE_FAILED
訊息:寫入 %s 至檔案 %s 失敗
-
錯誤編號:
52013
;符號:SHERR_DUMP_IC_FAILED_TO_FETCH_VERSION
訊息:無法擷取伺服器版本。
-
錯誤編號:
52014
;符號:SHERR_DUMP_SD_CHARSET_NOT_FOUND
訊息:找不到字元集:%s
-
錯誤編號:
52015
;符號:SHERR_DUMP_SD_WRITE_FAILED
訊息:寫入時出現 errno %d
-
錯誤編號:
52016
;符號:SHERR_DUMP_SD_QUERY_FAILED訊息:無法執行 '%s':%s
-
錯誤編號:
52017
;符號:SHERR_DUMP_SD_COLLATION_DATABASE_ERROR
訊息:處理 select @@collation_database;的結果時發生錯誤
-
錯誤編號:
52018
;符號:SHERR_DUMP_SD_CHARACTER_SET_RESULTS_ERROR
訊息:無法將 character_set_results 設定為:%s
-
錯誤編號:
52019
;符號:SHERR_DUMP_SD_CANNOT_CREATE_DELIMITER
訊息:無法為事件建立分隔符號:%s
-
錯誤編號:
52020
;符號:SHERR_DUMP_SD_INSUFFICIENT_PRIVILEGE
訊息:%s 沒有足夠的權限可 %s!
-
錯誤編號:
52021
;符號:SHERR_DUMP_SD_MISSING_TABLE
訊息:%s 未出現在 information_schema 中
-
錯誤編號:
52022
;符號:SHERR_DUMP_SD_SHOW_CREATE_TABLE_FAILED
訊息:執行失敗:顯示建立資料表 %s,並出現錯誤:%s
-
錯誤編號:
52023
;符號:SHERR_DUMP_SD_SHOW_CREATE_TABLE_EMPTY
訊息:資料表建立的資料表為空:%s
-
錯誤編號:
52024
;符號:SHERR_DUMP_SD_SHOW_FIELDS_FAILED
訊息:在檢視上 SHOW FIELDS FROM 失敗:%s
-
錯誤編號:
52025
;符號:SHERR_DUMP_SD_SHOW_KEYS_FAILED
訊息:無法取得資料表 %s 的索引鍵:%s
-
錯誤編號:
52026
;符號:SHERR_DUMP_SD_SHOW_CREATE_VIEW_FAILED
訊息:失敗:顯示建立資料表 %s
-
錯誤編號:
52027
;符號:SHERR_DUMP_SD_SHOW_CREATE_VIEW_EMPTY
訊息:無檢視的相關資訊:%s
-
錯誤編號:
52028
;符號:SHERR_DUMP_SD_SCHEMA_DDL_ERROR
訊息:傾印綱要 '%s' 的 DDL 時發生錯誤:%s
-
錯誤編號:
52029
;符號:SHERR_DUMP_SD_TABLE_DDL_ERROR
訊息:傾印資料表 '%s'.'%s' 的 DDL 時發生錯誤:%s
-
錯誤編號:
52030
;符號:SHERR_DUMP_SD_VIEW_TEMPORARY_DDL_ERROR
訊息:傾印檢視 '%s'.'%s' 的暫時 DDL 時發生錯誤:%s
-
錯誤編號:
52031
;符號:SHERR_DUMP_SD_VIEW_DDL_ERROR
訊息:傾印檢視 '%s'.'%s' 的 DDL 時發生錯誤:%s
-
錯誤編號:
52032
;符號:SHERR_DUMP_SD_TRIGGER_COUNT_ERROR
訊息:無法檢查資料表 '%s'.'%s' 的觸發程序計數
-
錯誤編號:
52033
;符號:SHERR_DUMP_SD_TRIGGER_DDL_ERROR
訊息:傾印資料表 '%s'.'%s' 的觸發程序時發生錯誤:%s
-
錯誤編號:
52034
;符號:SHERR_DUMP_SD_EVENT_DDL_ERROR
訊息:傾印綱要 '%s' 的事件時發生錯誤:%s
-
錯誤編號:
52035
;符號:SHERR_DUMP_SD_ROUTINE_DDL_ERROR
訊息:傾印綱要 '%s' 的常式時發生錯誤:%s
-
錯誤編號:
52036
;符號:SHERR_DUMP_ACCOUNT_WITH_APOSTROPHE
訊息:帳戶 %s 包含不支援的 ' 字元
範圍在 54000-54999 的錯誤編號適用於 MySQL Shell 的傾印載入公用程式 util.loadDump()
,或是 MySQL Shell 的執行個體傾印公用程式 util.dumpInstance()
、綱要傾印公用程式 util.dumpSchemas()
以及資料表傾印公用程式 util.dumpTables()
所遇到的連線和網路錯誤。在大多數情況下,錯誤代碼會符合所涉及的 HTTP 錯誤,例如,當找不到 URL 的目標時,會發生錯誤 54404 (HTTP 404 Not Found)。可能會傳回下列錯誤