swisscom app cloud に移行する予定なので、既存の 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経由でトリガーをインポートするには、どのような特別な権限が必要なのでしょうか?