当二进制日志启用后,这个变量就会启用。它控制是否可以信任存储函数创建者,不会创建写入二进制日志引起不安全事件的存储函数。如果设置为0(默认值),用户不得创建或修改存储函数,除非它们具有除CREATE ROUTINE或ALTER ROUTINE特权之外的SUPER权限。 设置为0还强制使用DETERMINISTIC特性或READS SQL DATA或NO SQL特性声明函数的限制。 如果变量设置为1,MySQL不会对创建存储函数实施这些限制。 此变量也适用于触发器的创建。
mysql> show variables like ‘log_bin’;
+—————+——-+
| Variable_name | Value |
+—————+——-+
| log_bin | ON |
+—————+——-+
1 row in set (0.00 sec)
mysql> show variables like ‘%log_bin_trust_function_creators%’;
+———————————+——-+
| Variable_name | Value |
+———————————+——-+
| log_bin_trust_function_creators | OFF |
+———————————+——-+
1 row in set (0.00 sec)
如上所示 默认是关闭的状态。现在可以尝试设置打开
mysql> set global log_bin_trust_function_creators=1;
Query OK, 0 rows affected (0.00 sec)
然后再查看下
现在看到的是已经打开这个配置了。目前就可以正常的复制函数了。
最后编辑:邱存平 更新时间:2023-08-25 15:53