MySQL 9.0 发行说明
MySQL 复制与 JavaScript 存储过程兼容,前提是在拓扑结构中的每个服务器上都安装了 MLE 组件,因为存在以下问题
没有安装该组件的副本接受来自源的
CREATE FUNCTION
和CREATE PROCEDURE
语句,这些语句包含 JavaScript 代码,但副本无法执行由此创建的存储过程。在没有安装该组件的服务器上创建的 JavaScript 存储过程不会被检查其有效性。
这意味着,当在没有安装 MLE 组件的服务器上执行包含无效 JavaScript 代码的 CREATE FUNCTION
或 CREATE PROCEDURE
语句时,该语句始终会成功,因此会被复制。如果安装了 MLE 组件的副本尝试执行该语句,则会引发错误,导致复制中断。
为了在复制中使用的 MySQL 服务器上安装(或卸载)MLE 组件,建议您停止复制,在拓扑结构中的每个服务器上安装(或卸载)该组件,然后才允许复制恢复。由于上一段中说明的原因,不支持在混合环境(即某些服务器安装了 MLE 组件,而另一些服务器没有安装)之间进行复制。
有关 MySQL 中 JavaScript 存储过程的更多信息,请参见 第 27.3 节,“JavaScript 存储过程”。有关 MLE 组件的信息,请参见 第 7.5.6 节,“多语言引擎组件 (MLE)”
。