Olá, eu sou iniciante no mysql, eu estou trabalhando com mysql e java, no futuro também pretendo trabalhar com php e mysql, eu tenho uma dúvida desde quando comecei a aprender, eu estou usando o usuário root para trabalhar com java, e a senha desse usuário está no código fonte do projeto, claro, no futuro pretendo criar um usuário só pra isso, mas minha dúvida é, como a senha está no código fonte do projeto, qualquer pessoa que ver o código e ver a senha poderá fazer o que quiser no meu banco de dados?
Sim, se ele tiver as credenciais e esse banco acessível na rede, sim ele pode.
Ok, muito obrigado por responder minha dúvida, só que me veio outra agora, se como você disse é possível que qualquer pessoa acesse meu banco, como que grandes serviços se protegem disso, não há mecanismos de segurança ou maneiras de evitar isso no mysql?
Sim, claro que existe várias formas de proteger a rede ou banco ou sistemas de acessos a intrusos, e as grandes empresas já fazem isso a muito tempo. Só que não existe sistema perfeitos, você mesmo pode perceber noticias de hacker invadindo sistemas por brechas deixadas por desenvolvedores. O código compilado (executável) não lhe dá 100% de que o cara não possa gerar o reverso, então, um exemplo são politicas de senhas para determinados usuários só leiam seu banco de dados, outros leiam e gravem e assim por diante.
Nada no mundo da informática é 100% seguro, mas, você como desenvolvedor pode tornar isso quase 100%, com politicas, regras, padrões, normativas, linguagens, etc.
Na sua pergunta, para desenvolvimento do sistemas utilize a senha root mesmo, o usuário padrão etc, quando for colocar em produção crie usuários para determinados sistemas, aumente a segurança nas senhas, troque as senhas mensalmente (apesar de não ser um trabalho fácil, mas, um boa prática), faça versionamento do sistema com motivo de melhorar cada vez mais e sempre dê manutenção, isso é mais um genérico do que se pode fazer, tem muita coisa que pode ser feita e isso vai depender mesmo do grupo que faz parte do desenvolvimento
Desenvolvimento de software não é um serviço fácil …
Muito obrigado não havia pensado nesse sistema de cada usuário poder fazer só determinadas coisas, eu estou fazendo um programa onde o usuário pode gerenciar sua conta, inclusive deleta-la, se alguma pessoa ter acesso a senha do usuário que eu utilizar, ela poderá fazer tudo isso né?
Se ele for o admin do grupo sim, por isso o desenvolvedor tem que verificar todas as possibilidades, não é um serviço simples!
Obrigado por todas informações