Do I need to create a new MySql database for each subdomain? If so, how do I go about doing this?
Yes, you need one database for each install. You just create them under them as any other database, in cpanel. Just make more of them and remember what databased was used for each subdomain, to not mess them. Use some suggestive names for databases should help.
Or is there a way for the MySql DB in the root domain to be shared with all the subdomains?
No, you can not do that. It will cause bad products links and other issues..