1000 is just about the limit for MySQL (according to the manual)
If you had on 1GB of RAM just for connections, you'd get about 1MByte per connection. On my low-spec machine mysql already takes 2.5Mbyte per connection.
Subtract the memory that the OS uses, and the cache that MySQL needs to get any sort of speed, and 1GByte total memory leaves precious little memory for the connections. Swap-city here we come. I think 3-5 seconds is a little optimistic, or the queries are fenominally simple.
Databases of 8GByte are also on the very edge of what MySQL can handle.
MySQL is filebased, so the max size of a table is the max filesize of your filesystem.
The mysql manual is full of info about the limits of MySQL.
PS: some limits are more important than others. For example, the lack of referencial integrity can be a showstopper before you even begin.