I'm writing my own CMS platform (PHP & MySQL), and am planning to have it work as a centralized system, so new clients/websites can be easily added to the system via a form.

From my limited knowledge of MySQL I see it working on a single database, i.e. all client data will be on the same tables, differentiated with just a client_id.

The reason I am thinking of this route is that with a single shared database, I would easily be able to do updates or add new features/tables as and when, and they would be available to all clients.. so it would make my job much easier..

My concern is how scalable/ideal this is in the long run, both from a performance and managment point of view. Also would this create any security issues?

Can anyone here let me know what the advantages/disadvantages are of having everything on the same database? Would it make things like backups/restores more difficult? Also how much is too big? I have a few sites running on a simpler CMS and each database is larger than 500Kb, so example with 50 websites running on it could easily add up to 25Mb.. is this too big?

If not on a single database what are my alternatives?

Thanks in advance!