Error establishing database connection – high traffic?

I have encountered the same kind of issue before, as you have already noted down the problem boiled down to mysql not accepting too many connections, The solution we implemented was to apply proper caching (check how often the cache is invalidated and other caching settings) and upgrade the mysql server.

As a quick fix, you could flush the connections on mysql using
flush hosts;