Spec-Zone.ru › MySQL 9.2

19.5.1.18 Репликация и хранимые программы JavaScript

Репликация MySQL совместима с хранимыми программами JavaScript, при условии, что компонент MLE установлен на каждом сервере в топологии, из-за следующих проблем:

  • Реплика без установленного компонента принимает инструкции CREATE FUNCTION и CREATE PROCEDURE с кодом JavaScript из источника, но реплика не может выполнить созданные таким образом хранимые программы.

  • Хранимые программы JavaScript, созданные на сервере без установленного компонента, не проверяются на корректность.

  • Следующие SQL-инструкции не могут быть успешно выполнены на реплике без установленного компонента:

    • CREATE LIBRARY

    • DROP LIBRARY

    • Инструкции CREATE FUNCTION или CREATE PROCEDURE, содержащие предложение USING

    На сервере без компонента MLE каждая из перечисленных инструкций отклоняется с ошибкой синтаксиса.

Это означает, что при выполнении инструкции CREATE FUNCTION или CREATE PROCEDURE без USING, содержащей некорректный код JavaScript, на сервере без установленного компонента MLE, инструкция выполняется успешно и, следовательно, реплицируется. Если на реплике установлен компонент MLE, при попытке выполнения такой инструкции на реплике возникает ошибка, что приводит к разрыву репликации.

Кроме того, при выполнении инструкций CREATE LIBRARY, DROP LIBRARY, CREATE FUNCTION ... USING или CREATE PROCEDURE ... USING на сервере без установленного компонента MLE, инструкция всегда отклоняется, так как сервер не поддерживает данный синтаксис.

Для установки (или удаления) компонента MLE на серверах MySQL, используемых в репликации, рекомендуется остановить репликацию, установить (или удалить) компонент на каждом сервере в топологии и только затем возобновить репликацию. Репликация между серверами в смешанной конфигурации (то есть, в которой на некоторых серверах установлен компонент MLE, а на некоторых нет) не поддерживается по причинам, указанным в предыдущем абзаце.

Дополнительную информацию о хранимых программах JavaScript в MySQL см. в Разделе 27.3, «Хранимые программы JavaScript». Сведения о компоненте MLE см. в Разделе 7.5.8, «Компонент многоязыкового движка (MLE)».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/replication-features-js-programs.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API