Talvez essa seja uma pergunta boa ou ruim, mas na minha pesquisa no Google não consegui encontrar uma boa resposta (talvez porque eu seja péssimo em fazer uma boa pesquisa). Em poucas palavras:
- um banco de dados pode ser criado sem um usuário e/ou proprietário?
Estou tentando responder uma pergunta no Stack Overflow e o usuário compartilhou a configuração do banco de dados e algo me chamou a atenção:
$db['default']['hostname'] = 'localhost';
$db['default']['username'] = '';
$db['default']['password'] = '';
$db['default']['database'] = 'gotche';
$db['default']['dbdriver'] = 'mysqli';
O banco de dados não tem um nome de usuário!
Independentemente do banco de dados usado - que está no cenário é MySQL (não sei a versão) - isso é possível?
Eu não acho que o nome de usuário e a senha foram removidos por motivos de segurança: seria melhor alterá-lo para algo como *****
- nesse caso, todos saberiam que existe um nome de usuário/senha, mas posso perguntar ao usuário se esse é o motivo.
O MySQL permite que um usuário em branco com uma senha em branco (acesso anônimo) se conecte.
Consulte Protegendo as contas iniciais do MySQL
Além disso, o MySQL não possui o conceito de "proprietário do banco de dados", como o SQL Server e o Postgres. Existe um sistema de privilégios, onde os usuários podem ser atribuídos vários tipos de acesso a bancos de dados, tabelas, etc, com
GRANT
declaração.