Ponieważ wiersz 3 zawiera pierwszy ;
być może masz problem z ogranicznikami.
Zobacz http://dev.mysql.com/ doc/refman/5.0/en/stored-programs-defining.html
DELIMITER //
CREATE PROCEDURE dorepeat(p1 INT)
BEGIN
SET @x = 0;
REPEAT SET @x = @x + 1; UNTIL @x > p1 END REPEAT;
END//
DELIMITER ;