在使用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)
您可以进phpMyAdmin里面的“查询窗口”,或者登录SSH执行SQL命令“show variables like '%func%';”来查看MySQL数据库创建函数功能是否开启,结果中显示“log_bin_trust_function_creators”的value为“OFF”就表示没开启。
SSH中查询结果如下:
mysql> show variables like %func%;
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | OFF |
+---------------------------------+-------+
1 row in set (0.00 sec)
phpMyAdmin中查询结果如下:
开启Mysql数据库创建函数只需要登录SSH或者进phpMyAdmin执行SQL命令“set global log_bin_trust_function_creators=1;”即可,之后再查询就会看到“log_bin_trust_function_creators”的value为“On”了,这就表示已经开启了。
注:开启Mysql数据库创建函数功能需要有服务器权限,如果您自己无法成功开启,一般是因为您没有服务器权限,请联系服务器提供商处理。
本教程由【王牌互联】编写,专业美国Linux虚拟主机服务商,PHP+Mysql网站首选,官网地址:http://www.wphostz.net。