7.6.5 Плагин ddl_rewriter
MySQL 8.4 включает плагин 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.