11.5 Утилита для экспорта инстанса, схема и таблицы
Утилита для экспорта инстанса MySQL Shell util.dumpInstance() и утилита для экспорта схемы util.dumpSchemas() поддерживают экспорт всех схем или выбранной схемы из локального инстанса MySQL в хранилище Oracle Cloud Infrastructure Object Storage или набор локальных файлов. Утилита для экспорта таблицы util.dumpTables() поддерживает те же операции для выбора таблиц или представлений из схемы. Экспортированные элементы затем могут быть импортированы в HeatWave Service DB System или инстанс MySQL Server с помощью утилиты util.loadDump() (см. Раздел 11.6, «Утилита загрузки дампов»). Для лучшей функциональности всегда используйте последнюю версию утилит для экспорта и загрузки дампов MySQL Shell.
Об утилитах
Утилиты MySQL Shell для экспорта инстанса, схемы и таблицы обеспечивают потоковую передачу данных в Oracle Cloud Infrastructure Object Storage, проверку совместимости и модификацию для HeatWave Service, параллельный экспорт с несколькими потоками и сжатие файлов, чего не обеспечивает mysqldump. Во время экспорта отображается информация о прогрессе. Можно выполнить пробный запуск с выбранными параметрами экспорта, чтобы увидеть информацию о предстоящих действиях, экспортируемых элементах и (для утилиты экспорта инстанса и схемы) о проблемах совместимости с HeatWave Service, которые необходимо исправить при реальном запуске утилиты с этими параметрами.
При выборе места назначения для файлов экспорта обратите внимание, что для импорта в HeatWave Service DB System, инстанс MySQL Shell, где вы запускаете утилиту загрузки дампов, должен быть установлен на виртуальной машине Oracle Cloud Infrastructure с доступом к HeatWave Service DB System. Если вы экспортируете инстанс, схему или таблицы в хранилище Object Storage, вы можете получить доступ к хранилищу Object Storage с виртуальной машины. Если вы создаете файлы экспорта на локальной системе, вам нужно перенести их на виртуальную машину Oracle Cloud Infrastructure с помощью утилиты копирования, подходящей для вашей операционной системы.
Дампы, созданные утилитами MySQL Shell для экспорта инстанса, схемы и таблицы, состоят из файлов DDL, определяющих структуру схемы, и файлов данных, разделенных табуляцией .tsv. Также можно выбрать создание только файлов DDL или только файлов данных, если необходимо настроить экспортируемую схему как отдельное действие от заполнения её экспортированными данными. Можно выбрать, блокировать ли инстанс для резервного копирования во время экспорта для обеспечения согласованности данных. По умолчанию утилиты разбивают данные таблиц на несколько файлов данных и сжимают эти файлы.
Можно использовать параметры утилит для включения или исключения указанных схем и таблиц, пользователей и их ролей и разрешений, событий, процедур и триггеров. Если вы укажете конфликтующие параметры включения и исключения или назовете объект, который не включён в экспорт, будет сообщено об ошибке, и экспорт остановится, чтобы вы могли исправить параметры. Если вам нужно экспортировать большинство схем в инстансе MySQL, как альтернативную стратегию, можно использовать утилиту экспорта инстанса вместо утилиты экспорта схемы и указать параметр excludeSchemas, чтобы перечислить схемы, которые не следует экспортировать. Аналогично, если нужно экспортировать большинство таблиц в схеме, можно использовать утилиту экспорта схемы с параметром excludeTables вместо утилиты экспорта таблиц.
Данные для mysql.apply_status, mysql.general_log, mysql.schema и mysql.slow_log
tables всегда исключаются из дампов, созданных утилитой экспорта схемы MySQL Shell, хотя их DDL-определения включаются. Схемы information_schema, mysql, ndbinfo, performance_schema и sys всегда исключаются из экспорта инстанса.
По умолчанию часовой пояс стандартизирован на UTC для всех данных о времени в выводе экспорта, что облегчает перемещение данных между серверами с разными часовыми поясами и обработку данных, которые имеют несколько часовых поясов. При желании можно использовать параметр tzUtc:
false, чтобы сохранить исходные временные метки.
Утилита загрузки дампов MySQL Shell util.loadDump() поддерживает загрузку экспортированных инстансов и схем из хранилища Object Storage с использованием предварительно аутентифицированного запроса (PAR). Сведения о загрузке дампов с помощью PAR см. в Разделе 11.6, «Утилита загрузки дампов».
Утилиты MySQL Shell для экспорта инстанса, схемы и таблицы учитывают разбиение (см. в руководстве MySQL). Когда таблица, которую нужно экспортировать, разбита на части, каждая часть обрабатывается как независимая таблица; если таблица имеет подчасти, каждая подчасть обрабатывается как отдельная таблица. Это также означает, что при включенной разбивке данных каждая часть или подчасть разбиеной или подразбитой таблицы разбивается отдельно. Базовые имена файлов экспорта для разбиеённых таблиц используют формат , где schema@table@partitionschema и table соответственно, имена родительской схемы и таблицы, а partition — закодированное по URL имя разбиения или подразбиения.
Для управления добавлением функций, которые не поддерживаются предыдущими версиями утилит MySQL Shell, util.dumpInstance(), util.dumpSchemas(), util.dumpTables() и util.loadDump() записывают список функций, использованных при создании дампов, в файл метаданных дампов; для каждой такой функции добавляется элемент в список. Когда утилита загрузки дампов считывает файл метаданных и находит неподдерживаемую функцию в списке, она сообщает об ошибке; сообщение об ошибке включает версию MySQL Shell, которая поддерживает данную функцию.
Требования и ограничения
Утилиты дампинга экземпляра, схемы и таблицы поддерживают только релизы MySQL Server, доступные в общем доступе (GA).
Для целевого экземпляра MySQL, в который будет загружен дамп, требуется MySQL 5.7 или более поздняя версия.
Для исходного экземпляра MySQL, дамп из MySQL 5.7 или более поздней версии полностью поддерживается во всех выпусках MySQL Shell, где доступны утилиты.
Имена объектов в экземпляре или схеме должны быть в кодировке
latin1илиutf8.Гарантия целостности данных обеспечивается только для таблиц, использующих движок хранения .
-
Минимальный набор привилегий, необходимых для учетной записи пользователя, используемой для запуска утилиты, на всех вовлечённых схемах, состоит из следующих: , , , , и .
Если опция
consistentустановлена в значениеtrue(по умолчанию), привилегия на всех таблицах дампа может заменить привилегию , если последняя недоступна.Если у учетной записи пользователя нет привилегии и
LOCK INSTANCE FOR BACKUPне может быть выполнено, утилиты выполняют дополнительную проверку целостности во время дампинга. Если эта проверка завершается неудачно, дамп экземпляра останавливается, но дамп схемы или таблицы продолжается и возвращает сообщение об ошибке, уведомляя пользователя о том, что проверка целостности завершилась неудачно.Если опция
consistentустановлена в значениеfalse, привилегии и не требуются.Если дамп производится из экземпляра MySQL 5.6 и включает учетные записи пользователей (что возможно только с утилитой дампинга экземпляра), также требуется привилегия .
Учетной записи пользователя, используемой для запуска утилиты, необходима привилегия , чтобы утилита могла включить имя и позицию файла бинарного журнала в метаданные дампа. Если у пользователя нет этой привилегии, дамп продолжается, но информация о бинарном журнале не включается. Информация о бинарном журнале может быть использована после загрузки данных дампа на сервер репликации для настройки репликации с сервером-источником, не использующим GTID, с помощью опции
ASSIGN_GTIDS_TO_ANONYMOUS_TRANSACTIONSоператора .Метод загрузки, используемый для передачи файлов в хранилище объектов Oracle Cloud Infrastructure, имеет ограничение на размер файла в 1,2 ТБ.
Утилиты преобразуют столбцы с типами данных, которые не являются безопасными для хранения в текстовой форме (например,
BLOB) в Base64. Поэтому размер этих столбцов не должен превышать примерно 0,74 значения системной переменной (в байтах), настроенной на целевом экземпляре MySQL.Для утилиты дампинга таблиц экспортированные представления и триггеры не должны использовать квалифицированные имена для ссылки на другие представления или таблицы.
Утилита дампинга таблиц не производит дамп процедур, поэтому любые процедуры, на которые ссылаются экспортированные объекты (например, представление, использующее функцию), должны уже существовать при загрузке дампа.
-
Для импорта в базу данных HeatWave Service DB System, установите опцию
ocimdsв значениеtrue, чтобы обеспечить совместимость с HeatWave Service.ВажноПри миграции в HeatWave Service рекомендуется всегда использовать последнюю доступную версию MySQL Shell.
Для совместимости с HeatWave Service все таблицы должны использовать движок хранения . Опция
ocimdsпроверяет наличие любых исключений, обнаруженных в дампе, а опцияcompatibilityизменяет файлы дампа для замены других движков хранения на .Для утилиты дампинга экземпляра и утилиты дампинга схемы, для совместимости с 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.Для высокой доступности HeatWave Service, использующей Group Replication, на каждой таблице требуются первичные ключи. Опция
ocimdsпроверяет и сообщает об ошибке для всех таблиц в дампе, у которых отсутствуют первичные ключи. Опцияcompatibilityможет быть установлена для игнорирования отсутствующих первичных ключей, если они не нужны, или для уведомления утилиты загрузки дампов MySQL Shell о добавлении первичных ключей в невидимые столбцы, где их нет. Подробности см. в описании опцииcompatibility. Если возможно, вместо управления этим в утилите, рассмотрите возможность создания первичных ключей в таблицах на исходном сервере перед их повторным дампингом.Если любая из утилит дампинга запущена на MySQL 5.7 с опцией
"ocimds": true, тоutil.checkForServerUpgradeвыполняется автоматически, если эти проверки не отключены опциейskipUpgradeChecks. Предварительные проверки запускаются в зависимости от типа объектов, включенных в дамп.
Запуск утилит
Утилиты дампа экземпляра, дампа схемы и дампа таблицы используют глобальную сессию MySQL Shell для получения данных подключения к целевому серверу MySQL, с которого выполняется экспорт. Необходимо открыть глобальную сессию (которая может иметь подключение X Protocol или классическое подключение MySQL) перед запуском одной из утилит. Утилиты открывают свои собственные сессии для каждого потока, копируя такие параметры, как сжатие подключения и параметры SSL из глобальной сессии, и не используют глобальную сессию далее.
В API MySQL Shell утилиты дампа экземпляра, дампа схемы и дампа таблицы являются функциями глобального объекта util и имеют следующие сигнатуры:
util.dumpInstance(outputUrl[, options])
util.dumpSchemas(schemas, outputUrl[, options])
util.dumpTables(schema, tables, outputUrl[, options])
options — это словарь параметров, который можно опустить, если он пустой. Доступные параметры для утилиты дампа экземпляра, дампа схемы и дампа таблицы перечислены в оставшихся разделах этой темы.
Для утилиты дампа схемы schemas указывает список одной или нескольких схем, которые нужно сдублировать из экземпляра MySQL.
Для утилиты дампа таблицы schema указывает схему, содержащую элементы для дублирования, а tables — массив строк, указывающий таблицы или представления для дублирования. Дамп таблицы включает информацию, необходимую для настройки указанной схемы в целевом экземпляре MySQL, хотя его можно загрузить в альтернативную целевую схему, используя параметр schema утилиты загрузки дампов.
Утилиту дампа таблицы можно использовать для выбора отдельных таблиц из схемы, например, для переноса таблиц между схемами. В этом примере в режиме JavaScript MySQL Shell таблицы employees и salaries из схемы hr экспортируются в локальный каталог 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 для определения пространства имён ведра. В этом примере пользователь дублирует схему world из подключенного экземпляра MySQL в ведро 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. Подключение к ведру Object Storage устанавливается с использованием профиля по умолчанию в файле конфигурации CLI Oracle Cloud Infrastructure по умолчанию или альтернативных данных, которые вы указываете с помощью параметров ociConfigFile и ociProfile. Инструкции по настройке файла конфигурации CLI см. на странице Файл конфигурации SDK и CLI.
Параметры управления дампом
-
dryRun: [ true | false ] Отображает информацию о том, что будет дублировано с указанным набором параметров, и о результатах проверок совместимости HeatWave Service (если указан параметр
ocimds), но не выполняет сам дамп. Установка этого параметра позволяет перечислить все проблемы совместимости перед запуском дампа. По умолчанию —false.-
showProgress: [ true | false ] Отображает (
true) или скрывает (false) информацию о прогрессе дампа. По умолчанию —true, еслиstdoutявляется терминалом (tty), например, когда MySQL Shell находится в интерактивном режиме, иfalseв противном случае. Информация о прогрессе включает в себя приблизительное общее количество строк для дублирования, количество уже дублированных строк, процент завершения и производительность в строках и байтах в секунду.-
threads:int Количество параллельных потоков для дублирования фрагментов данных из экземпляра MySQL. Каждый поток имеет собственное подключение к экземпляру MySQL. По умолчанию — 4.
-
maxRate: "string" Максимальное количество байтов в секунду на поток для пропускной способности чтения данных во время дампа. Можно использовать суффиксы единиц
kдля килобайт,Mдля мегабайт иGдля гигабайт (например, установка100Mограничивает пропускную способность до 100 мегабайт в секунду на поток). Установка0(что является значением по умолчанию) или установка параметра в пустую строку означает, что ограничение не установлено.-
defaultCharacterSet: "string" Набор символов, который будет использоваться во время сеансов подключения, открываемых MySQL Shell к серверу для дампа. По умолчанию —
utf8mb4. Значения сессии системных переменных , , и устанавливаются для каждого подключения.-
consistent: [ true | false ] -
Включить (
true) или отключить (false) согласованные дампы данных, блокируя экземпляр для резервного копирования во время дампа. По умолчанию —true.При установке
trueутилита устанавливает глобальную блокировку чтения с помощью оператораFLUSH TABLES WITH READ LOCK(если идентификатор пользователя, используемый для выполнения утилиты, имеет привилегию ), или серию блокировок таблиц с помощью операторовLOCK TABLES(если идентификатор пользователя не имеет привилегии , но имеет ). Транзакция для каждого потока запускается с помощью операторовSET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READиSTART TRANSACTION WITH CONSISTENT SNAPSHOT. Когда все потоки запустят свои транзакции, экземпляр блокируется для резервного копирования (как описано в ) и глобальная блокировка чтения снимается.Если у учётной записи пользователя нет привилегии и
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. Все данные timestamp в выводе дампа будут преобразованы в этот часовой пояс. По умолчанию это
true, поэтому данные timestamp преобразуются по умолчанию. Установка часового пояса в 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 МБ. Указание этого параметра неявно устанавливаетchunkingв значениеtrue. Утилита стремится разбить данные каждой таблицы на файлы, каждый из которых содержит это количество данных до применения сжатия. Размер фрагмента является средним значением и рассчитывается на основе статистики таблицы и оценок плана объяснения.-
dialect: [default|csv|csv-unix|tsv] -
Укажите набор параметров обработки полей и строк для формата экспортируемого файла данных. Вы можете использовать выбранный диалект в качестве основы для дальнейшей настройки, также указав один или несколько параметров
linesTerminatedBy,fieldsTerminatedBy,fieldsEnclosedBy,fieldsOptionallyEnclosedиfieldsEscapedByдля изменения настроек.По умолчанию диалект создаёт файл данных, соответствующий тому, что был бы создан с помощью инструкции с настройками по умолчанию для этой инструкции.
.txtявляется подходящим расширением для файлов вывода. Доступны другие диалекты для экспорта CSV-файлов для систем DOS или UNIX (.csv) и TSV-файлов (.tsv).Настройки, применяемые для каждого диалекта, приведены ниже:
Таблица 11.3 Параметры диалекта для утилиты экспорта таблиц
Таблица 11.3 Параметры диалекта для утилиты экспорта таблиц dialectlinesTerminatedByfieldsTerminatedByfieldsEnclosedByfieldsOptionallyEnclosedfieldsEscapedBydefault[LF]
[TAB]
[пусто]
false\
csv[CR][LF]
,
''
true\
csv-unix[LF]
,
''
false\
tsv[CR][LF]
[TAB]
''
true\
ПримечаниеЗначения возврата каретки и перевода строки для диалектов независимы от операционной системы.
Если вы используете параметры
linesTerminatedBy,fieldsTerminatedBy,fieldsEnclosedBy,fieldsOptionallyEnclosedиfieldsEscapedBy, то в зависимости от правил экранирования вашего интерпретатора команд, символ обратного слэша (\) может потребоваться удвоить, если вы его используете в значениях параметров.Как и MySQL-сервер с инструкцией , MySQL Shell не проверяет параметры обработки полей и строк, которые вы указываете. Неверный выбор этих параметров может привести к частичному или неверному экспорту данных. Всегда проверяйте свои настройки перед началом экспорта и проверяйте результаты после него.
-
linesTerminatedBy: "characters" Один или несколько символов (или пустая строка), с помощью которых утилита завершает каждую строку в экспортируемом файле данных. По умолчанию соответствует выбранному диалекту или символу перевода строки (
\n), если параметр диалекта опущен. Этот параметр эквивалентен параметруLINES TERMINATED BYдля инструкции . Обратите внимание, что утилита не предоставляет эквивалента для параметраLINES STARTING BYдля инструкции , который установлен в пустую строку.-
fieldsTerminatedBy: "characters" Один или несколько символов (или пустая строка), с помощью которых утилита завершает каждое поле в экспортируемом файле данных. По умолчанию соответствует выбранному диалекту или символу табуляции (
\t), если параметр диалекта опущен. Этот параметр эквивалентен параметруFIELDS TERMINATED BYдля инструкции .-
fieldsEnclosedBy: "character" Один символ (или пустая строка), которым утилита обрамляет каждое поле в экспортируемом файле данных. По умолчанию соответствует выбранному диалекту или пустой строке, если параметр диалекта опущен. Этот параметр эквивалентен параметру
FIELDS ENCLOSED BYдля инструкции .-
fieldsOptionallyEnclosed: [ true | false ] Нужно ли обрамлять все поля в экспортируемом файле данных символом, указанным для
fieldsEnclosedBy(false), или обрамлять поле только если у него тип данных строка, такой какCHAR,BINARY,TEXTилиENUM(true). По умолчанию соответствует выбранному диалекту илиfalse, если параметр диалекта опущен. Этот параметр делает параметрfieldsEnclosedByэквивалентным параметруFIELDS OPTIONALLY ENCLOSED BYдля инструкции .-
fieldsEscapedBy: "character" Символ, с которого начинаются последовательности экранирования в экспортируемом файле данных. По умолчанию соответствует выбранному диалекту или обратный слэш (\), если параметр диалекта опущен. Этот параметр эквивалентен параметру
FIELDS ESCAPED BYдля инструкции . Если вы установите этот параметр в пустую строку, символы не экранируются, что не рекомендуется, потому что специальные символы, используемые , должны быть экранированы.
Параметры для фильтрации
-
where: -
Пара ключ-значение, содержащая допустимый идентификатор таблицы в формате
и допустимое выражение условия SQL для фильтрации экспортируемых данных.schemaName.tableNameПримечаниеSQL-код валидируется только при выполнении. Если вы экспортируете много таблиц, любые проблемы с синтаксисом SQL будут видны только на поздних этапах процесса. Поэтому рекомендуется протестировать условие SQL перед использованием в длительном процессе экспорта.
В следующем примере,
whereэкспортируются только те строки таблицыsakila.actorиsakila.actor_info, где значениеactor_idбольше 150, в локальную папку под названием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",..]} -
Список допустимых имен разделов, ограничивающий экспорт указанными разделами.
Например, чтобы экспортировать только разделы с именами
p1иp2из таблицыschema.table:partitions: {schema.table:["p1", "p2"]}.Следующий пример экспортирует разделы p1 и p2 из таблицы table1 и раздел p2 из таблицы table2:
util.dumpTables("schema", ["table","table2"], "out", {"partitions" : { "schema.table1": ["p1", "p2"],"schema.table2": ["p2"]}}) -
ddlOnly: [ true | false ] Установка этого параметра в значение
trueвключает только файлы DDL для экспортируемых элементов в дампе и не экспортирует данные. По умолчанию значениеfalse.-
dataOnly: [ true | false ] Установка этого параметра в значение
trueвключает только файлы данных для экспортируемых элементов в дампе и не включает файлы DDL. По умолчанию значениеfalse.-
users: [ true | false ] -
(Только для утилиты дампа экземпляра) Включить (
true) или исключить (false) пользователей и их роли и разрешения в дампе. По умолчанию значениеtrue, поэтому пользователи включаются по умолчанию. Утилита дампа схемы и утилита дампа таблицы не включают пользователей, роли и разрешения в дампе.Вы можете использовать параметр
excludeUsersилиincludeUsers, чтобы указать отдельные учетные записи пользователей для исключения или включения в файлы дампа. Эти параметры также можно использовать с утилитой загрузки дампов MySQL Shellutil.loadDump()для исключения или включения отдельных учетных записей пользователей на этапе импорта в зависимости от требований целевого экземпляра MySQL.ПримечаниеПри дампе пользователей из экземпляра MySQL 5.6 пользователь, выполняющий копирование, должен иметь привилегию SUPER.
-
excludeUsers:array of strings (Только для утилиты дампа экземпляра) Исключить указанные учетные записи пользователей из файлов дампа. Вы можете использовать их для исключения учетных записей пользователей, которые не принимаются для импорта в HeatWave Service DB System, или которые уже существуют или не нужны в целевом экземпляре MySQL. Укажите каждую строку учетной записи пользователя в формате
"'для учетной записи, определенной именем пользователя и именем хоста, илиuser_name'@'host_name'""'для учетной записи, определенной только именем пользователя. Если вы не укажете имя хоста, все учетные записи с этим именем пользователя будут исключены.user_name'"-
includeUsers:array of strings (Только для утилиты дампа экземпляра) Включить только указанные учетные записи пользователей в файлы дампа. Укажите каждую строку учетной записи пользователя, как и для параметра
excludeUsers. Этот параметр является альтернативой кexcludeUsers, если требуется включить только несколько учетных записей пользователей в дампе. Вы также можете указать оба параметра для включения некоторых учетных записей и исключения других.-
excludeSchemas:array of strings (Только для утилиты дампа экземпляра) Исключить указанные схемы из дампа. Обратите внимание, что схемы
information_schema,mysql,ndbinfo,performance_schemaиsysвсегда исключаются из дампа экземпляра.-
includeSchemas:array of strings (Только для утилиты дампа экземпляра) Включить только указанные схемы в дамп. Вы не можете включить схемы
information_schema,mysql,ndbinfo,performance_schemaилиsys, указав их в этом параметре. Если вы хотите создать дамп одной или нескольких из этих схем, вы можете сделать это с помощью утилиты дампа схемыutil.dumpSchemas().-
excludeTables:array of strings -
(Только для утилиты дампа экземпляра и утилиты дампа схемы) Исключить указанные таблицы из дампа. Имена таблиц должны быть квалифицированы допустимым именем схемы и заключены в обратные кавычки, если это необходимо. Таблицы, указанные параметром
excludeTables, не имеют файлов DDL или файлов данных в дампе. Обратите внимание, что данные дляmysql.apply_status,mysql.schema,mysql.general_logиmysql.slow_log tablesвсегда исключаются из дампа схемы, хотя их инструкции DDL включаются, и вы не можете включить эти данные, указав имя таблицы в другом параметре или утилите.ПримечаниеИмена схем и таблиц, содержащие многобайтовые символы, должны быть заключены в обратные кавычки.
-
includeTables:array of strings -
(Только для утилиты дампа экземпляра и утилиты дампа схемы) Включить только указанные таблицы в дамп. Имена таблиц должны быть квалифицированы допустимым именем схемы и заключены в обратные кавычки, если это необходимо.
ПримечаниеИмена схем и таблиц, содержащие многобайтовые символы, должны быть заключены в обратные кавычки.
-
events: [ true | false ] (Только для утилиты дампа экземпляра и утилиты дампа схемы) Включить (
true) или исключить (false) события для каждой схемы в дампе. По умолчанию значениеtrue.-
excludeEvents:array of strings (Только для утилиты дампа экземпляра и утилиты дампа схемы) Исключить указанные события из дампа. Имена событий должны быть квалифицированы допустимым именем схемы и заключены в обратные кавычки, если необходимо.
-
includeEvents:array of strings (Только для утилиты дампа экземпляра и утилиты дампа схемы) Включить только указанные события в дамп. Имена событий должны быть квалифицированы допустимым именем схемы и заключены в обратные кавычки, если необходимо.
-
routines: [ true | false ] (Только для утилиты дампа экземпляра и утилиты дампа схемы) Включить (
true) или исключить (false) функции и хранимые процедуры для каждой схемы в дампе. По умолчанию значениеtrue. Обратите внимание, что пользовательские функции не включаются, даже когдаroutinesустановлено в значениеtrue.-
excludeRoutines:array of strings (Только для утилиты дампа экземпляра и утилиты дампа схемы) Исключить указанные функции и хранимые процедуры из дампа. Имена процедур должны быть квалифицированы допустимым именем схемы и заключены в обратные кавычки, если необходимо.
-
includeRoutines:array of strings (Только для утилиты дампа экземпляра и утилиты дампа схемы) Включить только указанные функции и хранимые процедуры в дамп. Имена процедур должны быть квалифицированы допустимым именем схемы и заключены в обратные кавычки, если необходимо.
-
all: [ true | false ] -
(Только для утилиты дампа таблицы) Установка этого параметра в значение
trueвключает все представления и таблицы из указанной схемы в дамп. По умолчанию значениеfalse. При использовании этого параметра установите параметрtablesв пустой массив, например:shell-js> util.dumpTables("hr", [], "emp", { "all": true }) -
triggers: [ true | false ] (Для всех утилит дампа) Включить (
true) или исключить (false) триггеры для каждой таблицы в дампе. По умолчанию значениеtrue.-
excludeTriggers:array of strings (Для всех утилит дампа) Исключить указанные триггеры из дампа. Имена триггеров должны быть квалифицированы допустимым именем схемы и именем таблицы (
schema.table.trigger) и заключены в обратные кавычки, если необходимо. Вы можете исключить все триггеры для определенной таблицы, указав имя схемы и имя таблицы в этом параметре (schema.table).-
includeTriggers:array of strings (Для всех утилит дампа) Включить только указанные триггеры в дамп. Имена триггеров должны быть квалифицированы допустимым именем схемы и именем таблицы (
schema.table.trigger) и заключены в обратные кавычки, если необходимо. Вы можете включить все триггеры для определенной таблицы, указав имя схемы и имя таблицы в этом параметре (schema.table).
Параметры для сервиса HeatWave и Oracle Cloud Infrastructure
-
osBucketName: "string" Имя ведра хранилища объектов Oracle Cloud Infrastructure, в которое будет записан дамп. По умолчанию используется профиль
[DEFAULT]в файле конфигурации Oracle Cloud Infrastructure CLI, расположенном по адресу~/.oci/config, для подключения к ведру. Вы можете использовать альтернативный профиль с помощью параметровociConfigFileиociProfile. Инструкции по настройке файла конфигурации CLI см. в разделе Файл конфигурации SDK и CLI.-
osNamespace: "string" Пространство имен Oracle Cloud Infrastructure, в котором находится ведро хранилища объектов, указанное параметром
osBucketName. Пространство имен ведра хранилища объектов отображается на вкладке «Информация о ведре» на странице сведений о ведре в консоли Oracle Cloud Infrastructure или может быть получено с помощью командной строки Oracle Cloud Infrastructure.-
ociConfigFile: "string" Файл конфигурации Oracle Cloud Infrastructure CLI, содержащий профиль для подключения, вместо файла по умолчанию в расположении
~/.oci/config.-
ociProfile: "string" Имя профиля Oracle Cloud Infrastructure, используемого для подключения, вместо профиля
[DEFAULT]в файле конфигурации Oracle Cloud Infrastructure CLI, используемом для подключения.-
ocimds: [ true | false ] -
Установка этого параметра в значение
trueвключает проверки и изменения для обеспечения совместимости с сервисом HeatWave. Значение по умолчанию —false.ВажноПри миграции в HeatWave Service рекомендуется всегда использовать последнюю доступную версию MySQL Shell.
При установке этого параметра в значение
true, параметрыDATA DIRECTORY,INDEX DIRECTORYиENCRYPTIONв операторах комментируются в файлах DDL, чтобы убедиться, что все таблицы находятся в каталоге данных MySQL и используют шифрование схемы по умолчанию. Проверяются все движки хранения в операторах, кроме , предоставляемые права пользователям или ролям неподходящие права и другие проблемы совместимости. Если найдено какое-либо несоответствующее 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:array of strings -
Применяет указанные требования к совместимости с сервисом HeatWave для всех таблиц в выходных данных дампа, изменяя файлы дампа по мере необходимости.
Следующие изменения могут быть указаны как массив строк:
-
force_innodb Изменение операторов на использование движка хранения для всех таблиц, которые его еще не используют.
-
skip_invalid_accounts Удаление учетных записей пользователей, созданных с помощью внешних плагинов проверки подлинности, которые не поддерживаются в HeatWave Service. Этот параметр также удаляет учетные записи пользователей, у которых нет паролей, за исключением случаев, когда учетная запись без пароля определена как роль, в этом случае она дампируется с помощью оператора .
-
strip_definers -
Примечание
Этот параметр не требуется, если целевой экземпляр HeatWave Service имеет версию 8.2.0 или выше.
Начиная с MySQL Server 8.2.0, устарел и будет удален в будущих версиях. заменяется на и . Это изменение влияет на то, как MySQL Shell обрабатывает дампы для использования в HeatWave Service (
ocimds: true), так как административный пользователь имеет право и может выполнять операторы с клаузойDEFINER. Это было невозможно в предыдущих версиях.Удаление клаузы
DEFINERиз представлений, процедур, событий и триггеров, чтобы эти объекты создавались с определенным исполнителем (пользователем, вызывающим схему) по умолчанию, и изменение клаузыSQL SECURITYдля представлений и процедур для указанияINVOKERвместоDEFINER. HeatWave Service требует специальных привилегий для создания этих объектов с определенным исполнителем, отличным от пользователя, загружающего схему. Если вашей модели безопасности требуется, чтобы представления и процедуры имели больше привилегий, чем учетная запись, их запрашивающая или вызывающая, вы должны вручную изменить схему перед загрузкой. -
strip_restricted_grants Удаление определенных привилегий, ограниченных сервисом HeatWave, из операторов , чтобы пользователи и их роли не могли получить эти привилегии (что приведет к неудаче создания пользователя). Этот параметр также удаляет операторы для системных схем (
mysqlиsys), если у административной учетной записи пользователя в экземпляре Oracle Cloud Infrastructure Compute нет соответствующих привилегий, поэтому их нельзя удалить.-
strip_tablespaces Удаление клаузы
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 Shell может использоваться только для загрузки дампов, созданных с параметром
create_invisible_pksна целевом экземпляре MySQL версии 8.0.24 или выше из-за ограничения на скрытые столбцы в MySQL 8.0.23.
-
Параметры для совместимых с S3 сервисов
MySQL Shell поддерживает выгрузку данных MySQL в совместимые с S3 хранилища, такие как Amazon Web Services (AWS) S3.
MySQL Shell поддерживает конфигурацию AWS S3 в командных строках, переменных окружения и конфигурационных файлах. Командная строка имеет приоритет при определении параметров по сравнению с переменными окружения, конфигурационными файлами и значениями по умолчанию.
Информация о требованиях к конфигурации представлена в разделе 4.7, «Конфигурация облачного сервиса».
-
s3BucketName: "string" Имя S3-хранилища, в которое будет выполнена выгрузка. По умолчанию используется профиль
defaultиз файловconfigиcredentials, расположенных по адресу~/.aws/, для подключения к S3-хранилищу. Вы можете использовать альтернативные настройки и учетные данные для подключения, используя параметрыs3ConfigFileиs3CredentialsFile. Инструкции по установке и настройке AWS CLI можно найти на странице Начало работы с AWS CLI.-
s3CredentialsFile:"string" Файл с учетными данными пользователя для подключения, вместо файла в стандартном расположении,
~/.aws/credentials. Обычно, этот файл содержитaws_access_key_idиaws_secret_access_keyдля подключения.-
s3ConfigFile: "string" Файл конфигурации, содержащий профиль для подключения, вместо файла в стандартном расположении, например,
~/.aws/config. Обычно, этот файл содержит регион и тип вывода для подключения.-
s3Profile: "string" Имя профиля s3 CLI-профиля для подключения, вместо профиля
default.-
s3Region: "string" Имя региона для подключения.
-
s3EndpointOverride: "string" -
URL конечной точки для использования вместо значения по умолчанию.
При подключении к совместимому с S3 API Oracle Cloud Infrastructure, конечная точка имеет следующий формат:
https://. Заменитеnamespace.compat.objectstorage.region.oraclecloud.comnamespaceна имя пространства имен хранилища объектов иregionна идентификатор вашего региона. Например, идентификатор региона для региона США Восточный (Ashburn) —us-ashburn-1.Для пространства имен axaxnpcrorw5 в регионе США Восточный (Ashburn):
https://axaxnpcrorw5.compat.objectstorage.us-ashburn-1.oraclecloud.com.
Следующий пример демонстрирует выгрузку экземпляра MySQL в папку test в S3-хранилище Bucket001 с некоторыми параметрами совместимости:
util.dumpInstance("test",{s3bucketName: "Bucket001", threads: 4,
compatibility: ["strip_restricted_grants", "strip_definers", "ignore_missing_pks"]})
Следующий пример демонстрирует выгрузку экземпляра MySQL в префикс test в хранилище объектов Bucket001, используя конфигурационный профиль 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"]})
Параметры для Microsoft Azure Blob Storage
MySQL Shell поддерживает выгрузку в хранилище Microsoft Azure Blob Storage.
MySQL Shell поддерживает конфигурацию Microsoft Azure Blob Storage в командных строках, переменных окружения и конфигурационных файлах. Командная строка имеет приоритет при определении параметров по сравнению с переменными окружения и конфигурационными файлами.
Подробная информация о требованиях к конфигурации и порядке приоритета типов конфигурации представлена в разделе 4.7, «Конфигурация облачного сервиса».
-
azureContainerName: "string" Обязательный параметр. Имя контейнера Azure, в который будет выполнена выгрузка. Контейнер должен существовать.
-
azureConfigFile: "string" -
Необязательный параметр. Файл конфигурации, содержащий параметры подключения к хранилищу, вместо файла в стандартном расположении, например,
~/.azure/config. Если этот параметр не определен, используется файл конфигурации по умолчанию.azureContainerNameдолжно быть определено и не должно быть пустым. -
azureStorageAccount: "string" Необязательный параметр. Имя учетной записи Azure Storage, которое будет использоваться для операции.
-
azureStorageSasToken: "string" Необязательный параметр. Azure Shared Access Signature (SAS) токен, который будет использоваться для аутентификации операции вместо ключа.
В следующем примере используется строка конфигурации для параметров подключения, что означает, что команда dump требует только azureContainerName.
Пример файла config:
[cloud]
name = AzureCloud
[storage]
connection_string=alphanumericConnectionString
Пример команды dumpInstance, которая экспортирует содержимое экземпляра в папку prefix1 в контейнер mysqlshellazure:
util.dumpInstance("prefix1", {azureContainerName: "mysqlshellazure", threads: 4})
Выгрузка в хранилище объектов с PAR
outputURL также может быть хранилищем или префиксом предварительно авторизованного запроса (PAR). Это позволяет непосредственно выгружать данные в хранилище объектов OCI.
Для PAR должны быть разрешены следующие права:
Разрешить чтение и запись объектов
Включить список объектов
Если PAR определен как outputURL, следующие параметры не поддерживаются и приведут к ошибке при использовании:
osBucketNames3BucketNameazureContainerName
Только PARы хранилища и префикса поддерживаются в качестве outputURL. Использование PAR для объектов недоступно.
Если PAR не поддерживается или не имеет необходимых прав, возвращается ошибка OCI.
Если целевое хранилище не пусто, операция завершается неудачно, и возвращается ошибка. Если существуют объекты с определенным префиксом, операция завершается неудачно, и возвращается ошибка.
При определении префиксного par URL сгенерированного PAR не содержит определенного префикса. Его необходимо добавить в 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 URL сгенерированного PAR не содержит определенного префикса. Его необходимо добавить в URL вручную.
Следующий пример выгружает экземпляр в префикс MyPrefix в определенном PAR хранилища:
util.dumpInstance("https://objectstorage.region.oraclecloud.com/p/secret/n/myTenancy/b/myBucket/o/MyPrefix/")
Следующий пример выгружает схему sakila в префикс MyPrefix в определенном PAR хранилища:
util.dumpSchemas(["sakila"], "https://objectstorage.region.oraclecloud.com/p/secret/n/myTenancy/b/myBucket/o/MyPrefix/")
Следующий пример выгружает таблицу sakila.actor в префикс MyPrefix в определенном PAR хранилища:
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Сообщение: Ошибка создания PAR для объекта '%s': %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Сообщение: Ошибка при обработке запроса @@collation_database; results
-
Номер ошибки:
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Сообщение: Ошибка при выполнении: show create table %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Сообщение: Не удалось выполнить: SHOW CREATE TABLE %s
-
Номер ошибки:
52027; Символ:SHERR_DUMP_SD_SHOW_CREATE_VIEW_EMPTYСообщение: Нет информации о представлении: %s
-
Номер ошибки:
52028; Символ:SHERR_DUMP_SD_SCHEMA_DDL_ERRORСообщение: Ошибка при дампинге DDL для схемы '%s': %s
-
Номер ошибки:
52029; Символ:SHERR_DUMP_SD_TABLE_DDL_ERRORСообщение: Ошибка при дампинге DDL для таблицы '%s'.'%s': %s
-
Номер ошибки:
52030; Символ:SHERR_DUMP_SD_VIEW_TEMPORARY_DDL_ERRORСообщение: Ошибка при дампинге временного DDL для представления '%s'.'%s': %s
-
Номер ошибки:
52031; Символ:SHERR_DUMP_SD_VIEW_DDL_ERRORСообщение: Ошибка при дампинге DDL для представления '%s'.'%s': %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 содержит символ «'», который не поддерживается
-
Номер ошибки:
52037; Символ:SHERR_DUMP_USERS_MARIA_DB_NOT_SUPPORTEDСообщение: Дампинг пользовательских аккаунтов в настоящее время не поддерживается в MariaDB. Установите опцию 'users' в значение false, чтобы продолжить.
-
Номер ошибки:
52038; Символ:SHERR_DUMP_INVALID_GRANT_STATEMENTСообщение: Думп содержит неверный оператор grant. Используйте опцию совместимости 'strip_invalid_grants' для исправления.
-
Номер ошибки:
52039; Символ:SHERR_DUMP_IC_INVALID_VIEWSСообщение: Думп содержит одну или несколько неверных представлений. Исправьте их вручную или используйте опцию 'excludeTables', чтобы их исключить.
Номера ошибок в диапазоне 54000-54999 относятся к ошибкам подключения и сети, возникающим при загрузке дампов в MySQL Shell util.loadDump(), или при использовании утилиты MySQL Shell для дампов экземпляров util.dumpInstance(), схем util.dumpSchemas() и таблиц util.dumpTables(). В большинстве случаев код ошибки соответствует HTTP-ошибке. Например, ошибка 54404 возникает, когда целевой URL не найден (HTTP 404 Not Found). Могут быть возвращены следующие ошибки:
-
Номер ошибки:
54000; Символ:SHERR_DL_COMMON_CONNECTION_ERRORСообщение: %sОшибка подключения: %s.
-
Номер ошибки:
54100to54511; Символ:SHERR_NETWORK_[HTTP error name]Сообщение: Сообщение, специфичное для контекста
© 2025 Oracle
Licensed under the GPLv2 License.