You could move each user's database files to within their home directory, so they will be counted against any quota monitored there. If
/home or on the same filesystem you can do this with hardlinks so there is no need to even pause msySQL, otherwise moving the files to the home directories and symlinking them back to `/var/lib/whatever'.
For web accessible content, I tend to configure each user's sites to be in their home directories anyway (usually in a directory called
/home/<user>/public_html (with a symlink to that called
/home/<user>/www as some prefer that). This way the files are in the same place as the rest of their home directories so there is no extra location to count.
Depending how quotas are counted, file ownership may be an issue. For instance if you run your web server such that everything runs as one user (the users
www-data are common) any files created by web accessed scripts will not be owned by the user so if this stops them being counted in their quota you'll be missing some stuff in your counts. I have each user's scripts run as themselves (via suPHP or phpSUexc for PHP) so things end up correctly owned meaning this is not an issue for web accessible scripts and any output they create in the filesystem.