@marian The first question I would ask is: what is your use case?
If you are just wanting to fire up a MySQL instance to test every now and then, you can fire up a local one on your laptop/desktop. Either bare metal or in a small virtual machine.
I'll address other "always online" solutions:
Serving From Home
This can work. However, you have to realize that you are opening yourself up to being hacked/attacked. This could also be a violation of your ISP's TOS/EULA.
A safe way of implementing this is having an intermediate trusted host that you can establish a tunnel to, from the box at home.
Ie, something like:
ssh -R3306:localhost:3306 tunnel-user@trusted-host.domain.com keep-alive-script
Then, from the trusted host, you can connect to the host via:
mysql -u USERNAME -p -h localhost
And be able to connect to the box from the trusted host. This allows you to host from home without the risk of having any public facing open ports at home.
Serving From a Generous Friend's Box
If serving from home doesn't work, or you need a bit more reliability, find a good friend who also has hosting capacity and beg/borrow some space/cycles to implement your mysql instance.
Spend Some Money
Depending on your MySQL needs, you can get a small instance from various online VPS hosting providers. However, it won't be free. It CAN be cheap. To the tune of maybe $6/month if you go with an annual plan. See http://prgmr.com/xen/
Go With Amazon RDS
They have some free tier offers. Haven't tried them, but definitely an option. If get charged only after you exceed the transaction limits/cap, then you effectively have it for free.
I would avoid the free MySQL services out there. You lose too much control and depending on the data you will be hosting on the instance, poses a risk to your sensitive data.