Just to expand what XIII said,
1) No you don't NEED a mssql database.
2) If you decided to use mssql for membership, roles, and profiles, then yes that would take up an allocated mssql database, but you can put other tables into it as well if you wanted.
3) Yes, you can use mysql, mssql, db2, oracle, and progress all within the same website (doing different things).
What you want to do as XIII said is to replace the MS SQL membership (and role/profile too if you are using them) provider with a MySQL membership provider. Then you can use the Login control, Create User Wizard, LoginView contol, etc. If you change to a MySQL Role provider, then you can do role based security in your web.config, or in your code. If you change to a MySQL Profile provider, then you can do profiles as well.