Você precisa alterar temporariamente o delimitador então o cliente MySQL não pensa que você terminou sua instrução quando vê o ponto e vírgula na linha 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 ;