MySQL partition by date doesn't pruning the query
BY RANGE(MONTH(date)) does not prune.

Even if id did prune, it would probably not provide any performance benefit over having a non-PARTITIONed table with a suitable index.  May we see your queries?

BY RANGE(TO_DAYS(date)) does prune.  But you need to add a new partition periodically, and (optionally) DROP an old partition.

Blog on partitioning.