This article introduces friends to open Bin-log log mysql error : This function has none of deterministic, NO SQL solution,
When you create a stored procedure
Error message:
ERROR 1418 (HY000): This function has none of the deterministic, NO SQL, or reads SQL DATA in its declaration and binary Loggi NG is enabled (for your *might* want to use the less safe log_bin_trust_function_creators variable)
Reason:
This is when we open the bin-log and we have to specify whether our function is
1 deterministic, not sure.
2 No SQL does not have SQL statements, and of course does not modify the data
3 reads SQL data just reads the data and, of course, does not modify the data
4 modifies SQL data to modify
5 CONTAINS SQL contains SQL statements
Within the function, only deterministic, NO SQL and reads SQL DATA are supported. If we open the Bin-log, we must specify a parameter for our function.
Workaround:
SQL code
mysql> Show variables like ' log_bin_trust_function_creators ';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | Off |
+---------------------------------+-------+
mysql> set global Log_bin_trust_function_creators=1;
Mysql> Show variables like ' log_bin_trust_function_creators ';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin_trust_function_creators | On |
After this parameter is added, if mysqld reboots, that parameter disappears again, so remember to add in the MY.CNF configuration file:
Log_bin_trust_function_creators=1
Thank you for reading, I hope to help you, thank you for your support for this site!