Múltiplas instâncias/Multi Tenant em MySql?

Olá pessoal!

Recentemente, estive realizando algumas pesquisas acerca do tema Banco de Dados para que eu pudesse criar uma única instância, permitindo que os usuários cadastrados possam ver somente aquilo que compete à eles. Exemplo: Usuário A não poderá visualizar dados do usuário B, e por aí vai.

Se isso fosse possível, estaríamos falando de multi tenant como uma metodologia ou algum recurso específico além do que fazemos no dia a dia como criar constraints etc, ou seria algo mais específico de um DBA?

Eu encontrei este tema em outro forum. Ele cita três exemplos, mas não vejo nada de configuração específica:

Base de dados distintos e exclusivos para cada companhia
Um único banco de dados, Tabelas distintos e exclusivos para cada companhia
Um único banco de dados, uma única tabela contendo a coluna tenant_id (entra na questão do fk)

Valeu!

Por segurança e performance, o ideal é ser um banco para cada empresa. Mas é possível o Usuário A não visualizar dados do usuário B e etc. Basta fazer a modelagem de dados de acordo com suas necessidades e no back-end filtrar os registros conforme o usuário da empresa logado. O programador não pode deixar furos, principalmente se forem empresas concorrentes usando.