Hai dichiarato un delimitatore prima della definizione del trigger? Qualcosa come
DELIMITER //
CREATE TRIGGER tg_order_insert
BEFORE INSERT
ON `order` FOR EACH ROW
BEGIN
INSERT INTO `grocery`.`order_seqid` VALUE(NULL);
SET NEW.order_id = CONCAT('#GNC', LPAD(LAST_INSERT_ID(),3,'0'));
END
//
Perché se non lo fai, allora MySQL pensa che stai cercando di terminare la definizione del tuo trigger quando vede quel primo ;
e chiama l'errore di sintassi.