7.6.5 Плагин ddl_rewriter
MySQL 9.2 включает плагин ddl_rewriter, который изменяет CREATE TABLE инструкции, полученные сервером, перед их разбором и выполнением. Плагин удаляет ENCRYPTION, DATA DIRECTORY и INDEX
DIRECTORY предложения, что может быть полезно при восстановлении таблиц из дампов SQL, созданных из баз данных, которые зашифрованы или хранят свои таблицы вне каталога данных. Например, плагин может позволить восстановить такие дампы в незашифрованном экземпляре или в среде, где пути за пределами каталога данных недоступны.
Перед использованием плагина ddl_rewriter, установите его согласно инструкциям, приведенным в разделе 7.6.5.1 «Установка или удаление ddl_rewriter».
ddl_rewriter анализирует SQL-запросы, полученные сервером перед разбором, переписывая их в соответствии со следующими условиями:
ddl_rewriterрассматривает толькоCREATE TABLEинструкции, и только если они являются независимыми инструкциями, которые находятся в начале строки ввода или в начале текста подготовленного запроса.ddl_rewriterне рассматриваетCREATE TABLEинструкции внутри определений хранимых процедур. Инструкции могут занимать несколько строк.-
В рамках инструкций, рассматриваемых для переписывания, экземпляры следующих предложений переписываются, и каждый экземпляр заменяется одним пробелом:
ENCRYPTIONDATA DIRECTORY(на уровнях таблиц и разделов)INDEX DIRECTORY(на уровнях таблиц и разделов)
Переписывание не зависит от регистра.
Если ddl_rewriter переписывает инструкцию, он генерирует предупреждение:
mysql> CREATE TABLE t (i INT) DATA DIRECTORY '/var/mysql/data';
Query OK, 0 rows affected, 1 warning (0.03 sec)
mysql> SHOW WARNINGS\G
*************************** 1. row ***************************
Level: Note
Code: 1105
Message: Query 'CREATE TABLE t (i INT) DATA DIRECTORY '/var/mysql/data''
rewritten to 'CREATE TABLE t (i INT) ' by a query rewrite plugin
1 row in set (0.00 sec)
Если включен общий журнал запросов или двоичный журнал, сервер записывает в него инструкции в том виде, как они появляются после любой переписывания плагином ddl_rewriter.
При установке ddl_rewriter экспонирует инструмент Performance Schema memory/rewriter/ddl_rewriter для отслеживания использования памяти плагином. См. раздел 29.12.20.10 «Таблицы сводки памяти»
© 2025 Oracle
Licensed under the GPLv2 License.