O shell pode precisar ser configurado em algumas circunstâncias, por exemplo, se você quiser iniciar trabalhos remotamente por SSH como o usuário mysql ou pelo sudo. Estas não são necessidades comuns. Você não precisa ter um shell definido para tarefas agendadas, /bin/false fará bem.
Dar ao usuário mysql um shell não é uma falha de segurança por si só. A razão pela qual ele é desaprovado é que, combinado com uma configuração incorreta de algum serviço de login, ele pode permitir que alguém obtenha um shell como mysql . Colocar um programa que não faz nada evita isso - mesmo que um invasor consiga efetuar login como mysql , o que não os fará bem. É comum usar /bin/false ou /usr/sbin/nologin , mas /bin/true ou qualquer outro programa não operacional estaria bem.