MySQL函数使用

 1、mysql开启函数功能

MySQL函数不能创建的解决方法

在使用MySQL数据库时,有时会遇到mysql函数不能创建的情况。

出错信息大致类似:

ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
ERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

MySQL函数不能创建,是没有开启函数功能,下面操作开启函数功能:

mysql> show variables like '%func%';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | OFF |
+---------------------------------+-------+
1 row in set (0.03 sec)

mysql> set global log_bin_trust_function_creators=1;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like '%func%';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | ON |
+---------------------------------+-------+
1 row in set (0.01 sec)

 2、grant 操作 MySQL 存储过程、函数权限

grant create routine on dianshang_db.* to jenknins@'%';

grant alter routine on dianshang_db.* to jenkins@'%';

grant execute on dianshang_db.* to jenkins@'%';

参照文档

https://blog.csdn.net/fanhenghui/article/details/69945846

原文地址:https://www.cnblogs.com/effortsing/p/10011187.html