Várias instruções devem ser colocadas entre
BEGIN
e END
. Além disso, você precisa alterar o delimitador, ou então o MySQL pensa que a instrução de criação do evento terminou com o primeiro ;
. E por fim, é DEALLOCATE PREPARE ...
, não DROP PREPARE...
. DELIMITER $$
CREATE DEFINER=`root`@`localhost` EVENT `Backup`
ON SCHEDULE EVERY 1 WEEK
STARTS '2013-06-14 18:19:02' ON COMPLETION NOT PRESERVE ENABLE
DO
BEGIN
SET @sql_text = CONCAT("SELECT * FROM BonInterne INTO OUTFILE '/home/aimad/GestionStock/" , DATE_FORMAT( NOW(), '%Y%m%d') , "BonInterne.csv'" );
PREPARE s1 FROM @sql_text;
EXECUTE s1;
DEALLOCATE PREPARE s1;
END $$
DELIMITER ;