Após o reinício, ele foi embora - coisas estranhas, continuarão sendo monitoradas.
Obrigado a todos que responderam.
Após vários anos de uso do MySQL, eu encontrei algum problema de segurança que me deixou perplexo.
Eu criei um novo banco de dados, e um novo usuário, então conceda direitos CRUD apenas ao novo banco de dados, para este usuário.
Mas quando eu faço o login através de algum cliente MySQL, ou via CLI mysql, eu posso ler e alterar dados em todos os bancos de dados.
Eu verifiquei novamente e verifiquei que deveria ter acesso apenas a um único DB - ainda assim posso acessar todos os DBs.
Existe alguma configuração para o MySQL que apenas faça com que ela ignore a segurança, e eu acidentalmente a liguei?
Obrigado.
Sim; Se você iniciar o MySQL com --skip-grant-tables
, ele permite acesso livre e fácil a tudo por todos. No entanto, é muito mais provável que você tenha feito uma bagunça na sua autenticação e perms (é realmente fácil de fazer); post (provavelmente em uma nova questão é melhor) o conjunto de consultas / GRANT declarações que causaram os problemas (teste em um servidor de rascunho que eles realmente causam os problemas que você acha que eles fazem) e alguém pode explicar o que deu errado.
Eu não suponho que você tenha grant create,update,read,delete on *.* to 'user'@'localhost';
verifique também se você não está usando o usuário / senha implícito de um arquivo ~/.my.cnf
, e está iniciando a CLI do mysql com mysql -u user -p
(ou seja, você pode estar 'logando' como root @ localhost ou alguma coisa ...)
show grants;
deve mostrar todas as permissões que você tem e qual usuário você é.