なぜ別なDBにするかの理由に依るかと思います。
スケールアウトということなら、MySQLにはその為の機能があります。
(17.3.3 スケールアウトのためにレプリケーションを使用する)
顧客ごとにワンセットの別DBにするというのは、セキュリティの観点などから選択肢としてあるかと思いますが、言われている理由では、個別のデータベースにしなくとも、識別する項目をレイアウトに持たせれば目的は果たせます。
アクセスするアプリケーション側から考えると、分離されていない方が処理しやすいですし、ハード面で分離する理由がある場合でも、ミドルウェア側で統合されるような構成にするのが一般的だと思います。
MySQLでのデータベースというのは、他のDBMSで言うところのスキーマの概念が統合されたものです。
ですので、機能的な括りとしてデータベース(スキーマ)を分けるという事はあるので、仰っているのがサイトごとに機能が異なる(テーブル構成やレイアウトが違うし、当然プログラムも違う)というのならありかと思いますが、当然保守コストは上がるので、結局共通的な構成を考えた方が無難でしょう。