gpt4 book ai didi

google-cloud-sql - 触发Cloud SQL第二代

转载 作者:行者123 更新时间:2023-12-04 10:03:18 25 4
gpt4 key购买 nike

我正在尝试使用当前在第一代云SQL上运行的数据库转储填充第二代云sql实例(v5.7)。它有一些触发器:

    /*!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 */;;

尝试将数据库插入第二代时的结果是:
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)

有没有办法在第二代上启用这样的触发器?

干杯,
安德烈斯

最佳答案

由于启用了复制时,某些触发器可能会产生不一致的结果,因此默认配置中不允许使用它们。

您有两种选择:

  • 如果您不关心复制或能够进行时间点恢复,则可以禁用二进制日志。
  • 否则,如果您确定触发器是安全的,则可以编辑实例并将log_bin_trust_function_creators下的advanced options标志设置为true。为了安全起见,触发器必须保证它将对主副本和副本副本产生相同的效果。您可以在以下文章中找到不安全触发器的解释和示例:https://dba.stackexchange.com/questions/73447/why-when-does-creating-a-mysql-trigger-require-super-privileges
  • 关于google-cloud-sql - 触发Cloud SQL第二代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39221261/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com