I'm trying to open up the MySQL (3306) port on my EC2 instance and even though I've added the rule, it appears the port is still closed. Do I need to reboot my instance for the policy changes to take effect?
No, SG changes do not require a reboot.
Are you sure you applied the SG changes after adding the 3306 rule?
To digress, I surely hope you're not opening up this port to the public internet. If so, please don't do that. Just use SSH tunneling if you need to access 3306 from outside the EC2 network.