You've received lots of good information so far. A few additional comments.....
Monterosso has beaches in both the "old town" and "new town" areas (new town is larger). Both beaches have sections which are pay-per-use but there are some free sections as well.
Manarola has a small swimming area off the rocks, but it's not very big so doesn't accommodate a lot of people.
Vernazza has a small harbour partially enclosed by a breakwater, and that's probably your best bet in May as it's somewhat shallow at one end which means it may be a bit warmer than the other areas.
Riomaggiore has a small beach around the corner from the main part of town. I've never tried it so don't know if it's rocky.
Finally, there's a very large beach in Levanto, which is only about five minutes north of Monterosso by train. I've never used it but I suspect there might be paid and free areas there also.
The weather should be starting to warm up in May, however that can vary by year so not sure what this May will be like.