In Ihrer Abfrage haben Sie das Abfrageabschlusszeichen ;
hinzugefügt mit dem Trennzeichen $$
an zwei Stellen. Die folgende Abfrage hat die richtigen Abfrageabschlusszeichen und -trennzeichen.
DELIMITER $$
DROP TRIGGER IF EXISTS ca_passwd_trigger; -- removed the delimiter $$ after the terminator ;
CREATE TRIGGER ca_passwd_trigger BEFORE UPDATE ON users
FOR EACH ROW
BEGIN
IF ((NEW.passwd <=> OLD.passwd) = 0) THEN
SET NEW.passwd_modified_at = NOW();
END IF;
END$$ -- removed the terminator ; before the delimiter $$
DELIMITER ;