Podemos suponer que si un atacante obtuviera acceso a un servidor web que ejecute mysql, sería capaz de leer los scripts para determinar la contraseña de mysql.
Si mysql solo responde en localhost, ¿realmente necesita una contraseña segura?
Claro, si hubiera una vulnerabilidad en el servidor que permitiera a un atacante cargar y ejecutar archivos PHP, podrían causar estragos en la base de datos si no hubiera una contraseña segura. Sin embargo, aún podrían utilizar ese archivo PHP para acceder a los scripts del servidor "real", enviarlos al cliente y luego leer la contraseña de esa manera.
Realmente no entiendo la necesidad de una contraseña mysql si solo responde a localhost. ¿Por qué es importante?
Cuando digo "sin contraseña" me refiero a dejarlo como el valor predeterminado de "contraseña", que es probablemente la primera estimación para un atacante