我们计划将我们的东西迁移到 swisscom 应用程序云中,因此需要将现有的 MySQL 转储导入 MariaDB - 到目前为止没什么大不了的......
但是,一旦应导入触发器,转储的导入就会失败。
例如,我有一个带有这个单一触发器的转储:
DELIMITER ;;
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER trg_mytable_insert AFTER INSERT ON mytable FOR EACH ROW
BEGIN
INSERT INTO mytable_audit (id, fk_X)
SELECT a.id, a.fk_X FROM mytable a WHERE a.id = NEW.id;
END */;;
DELIMITER ;
我像这样触发导入:
mysql --user xxxxxxx -pxxxxxxx -h 127.0.0.1 -P 13000 CF_E7D2D18F_A20B_4FFF_89A7_XXXXXXXX < trigger.sql
导致此错误:
ERROR 1227 (42000) at line 2: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
奇怪的是,使用 liquibase,我们能够使用完全相同的用户创建触发器。mysql
那么通过CLI导入触发器需要哪些特殊权限呢?