More than 700 partitions are theoretically possible, but are not recommended.
The best plan would be to create monthly partitions. (24 for 2 years)
You can use the shell script available here...
http://forge.mysql.com/tools/tool.php?id=200
_____
Create a table in the test database with the name "date_helper"
mysql> CREATE TABLE test.date_helper (
id INT NOT NULL,
to_timestamp datetime
);
Run the shell script and feed the output to mysql
unix> sh mydate.sh | mysql -uUser -pPassWd test
_____
The altered table will look something like this:
CREATE TABLE `date_helper` (
`id` int(11) NOT NULL,
`to_timestamp` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY LIST (to_days(to_timestamp))
(PARTITION January2010 VALUES IN (734138,734139,734140, ...) ENGINE = InnoDB,
PARTITION February2010 VALUES IN (734169,734170,734171,... ) ENGINE = InnoDB,
...
...
PARTITION November2011 VALUES IN (734807,734808,734809,...) ENGINE = InnoDB,
PARTITION December2011 VALUES IN (734837,734838,734839,...) ENGINE = InnoDB) */
_____
You can change the number of years as well as the starting month while running the script. If you want 3 years (365*3) partition starting from Jan 1990, use the following syntax:
sh mydate.sh 1990-01-01 1096