Lors de l'utilisation de la base de données MySQL, il arrive parfois que la fonction MySQL ne puisse pas être créée. Ce qui suit vous apprendra une méthode pour résoudre le problème selon lequel les fonctions MySQL ne peuvent pas être créées pour votre référence. J'espère que cela aide tout le monde.
Cas 1 :
Actuellement dans le projet, une erreur se produit lors de l'exécution de la fonction qui crée mysql
Le message d'erreur de la fonction de création mysql est le suivant :
🎜>
Code d'erreur : 1227 . Accès refusé ; vous avez besoin d'au moins un des) privilèges SUPER pour cette opérationVérifiez d'abord si la fonction de création est activée. la fonction de création est activée est la suivante :-- 查看是否开启创建函数的功能 show variables like '%func%'; -- 开启创建函数的功能 set global log_bin_trust_function_creators = 1;
DROP FUNCTION IF EXISTS `nextval`; DELIMITER ;; CREATE DEFINER=`devop`@`%` FUNCTION `nextval`(`seq_name` VARCHAR(50)) RETURNS varchar(20) CHARSET utf8 BEGIN DECLARE seq_max BIGINT(20); UPDATE sequenceconftable SET `max` = `max` + NEXT WHERE NAME = seq_name; SELECT `max` INTO seq_max FROM sequenceconftable WHERE NAME = seq_name ; RETURN seq_max; END ;; DELIMITER ;
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> show variables like '%fun%'; +---------------------------------+-------+ | Variable_name | Value | +---------------------------------+-------+ | log_bin_trust_function_creators | ON | +---------------------------------+-------+ 1 row in set (0.00 sec) mysql> set global log_bin_trust_function_creators=1; Query OK, 0 rows affected (0.00 sec) mysql> show variables like '%fun%'; +---------------------------------+-------+ | Variable_name | Value | +---------------------------------+-------+ | log_bin_trust_function_creators | ON | +---------------------------------+-------+ 1 row in set (0.00 sec)
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) (0 ms taken)
Analyse :
> set global log_bin_trust_function_creators = 1; > start slave;
Solution à l'erreur 1418 dans la fonction de création MySQL
Erreur de connexion à la base de données MySQL-php, quelle en est la raison
Erreur de démarrage MySQL après la migration des données
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!