Error Code: 1418. This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled...

Error Code: 1418. 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)

 

Solution:

There are two solutions, the first one is a subroutine (stored procedures, functions, triggers) to create, or declared as DETERMINISTIC NO SQL and READS SQL DATA one, for example: CREATE DEFINER = CURRENT_USER PROCEDURE `NewProc` ( ) DETERMINISTIC BEGIN #Routine body goes here ... END ;;

The second is the creator of the trust subroutine, prohibit creating, modifying routines for the SUPER privilege requirements set log_bin_trust_routine_creators global system variable to 1.

Set in three ways:

1. Perform SET GLOBAL log_bin_trust_function_creators = 1 on the client side;

When 2.MySQL start, plus --log-bin-trust-function-creators selected from Yin, parameter set 1

3. In the MySQL configuration file or in my.cnf my.ini [mysqld] upper add log-bin-trust-function- creators = 1

Solution:

There are two solutions, the first one is a subroutine (stored procedures, functions, triggers) to create, or declared as DETERMINISTIC NO SQL and READS SQL DATA one, for example: CREATE DEFINER = CURRENT_USER PROCEDURE `NewProc` ( ) DETERMINISTIC BEGIN #Routine body goes here ... END ;;

The second is the creator of the trust subroutine, prohibit creating, modifying routines for the SUPER privilege requirements set log_bin_trust_routine_creators global system variable to 1.

Set in three ways:

1. Perform SET GLOBAL log_bin_trust_function_creators = 1 on the client side;

When 2.MySQL start, plus --log-bin-trust-function-creators selected from Yin, parameter set 1

3. In the MySQL configuration file or in my.cnf my.ini [mysqld] upper add log-bin-trust-function- creators = 1

Guess you like

Origin www.cnblogs.com/hellohero55/p/12117006.html