Debe cambiar el delimitador temporalmente por lo que el cliente MySQL no cree que haya terminado con su declaración cuando ve el punto y coma en la línea 3:
DELIMITER //
CREATE PROCEDURE dorepeat(IN p1 INT)
BEGIN
DECLARE x INT DEFAULT 0;
REPEAT SET x = x + 1; UNTIL x > p1 END REPEAT;
END//
DELIMITER ;