Я пытаюсь заполнить экземпляр sql sql 2-го поколения (v5.7) с дампом базы данных, который в настоящее время работает на облаке SQL первого поколения. Она имеет несколько триггеров:Triggers cloud sql 2nd generation
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`%`*/ /*!50003 TRIGGER `resourcetypetransaction_AFTER_INSERT` AFTER INSERT ON `resourcetypetransaction` FOR EACH ROW
BEGIN
INSERT INTO `resourcetypetransactionlog` SELECT *
FROM `resourcetypetransaction`
WHERE id = NEW.id;
END */;;
В результате при попытке вставить базу данных для 2-го поколения является:
shinkansen:sql ameyer$ cat gae_2016-08-30T08\:21\:33.sql | mysql -u root -pxxxx -h xxxx napoleon;
mysql: [Warning] Using a password on the command line interface can be insecure.
ERROR 1419 (HY000) at line 1067: You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
Есть ли способ включить триггера, как это на 2-го поколения?
Приветствия, Андрес
Это не сработало, я до сих пор та же ошибка после заменяя/*! 50017 DEFINER = 'root' @'% '*/by/*! 50017 */ – cputoaster
Извините, вы правы. Я не выглядел достаточно близко к сообщению об ошибке. Я обновил ответ более информация – Vadim
сейчас работает нормально.У меня есть «now()» в триггере, который создаст немного другое время на главном и подчиненном, но я не думаю, что это проблема. Я надеюсь, что Cloud SQL будет поддерживать несколько флагов sql_mode в ближайшее время, поэтому можно написать код чистой даты. – cputoaster