En realidad, esas tres cuentas de usuario son bastante peligrosas. Representan una gran amenaza para probar las bases de datos.
Desafortunadamente, mysql viene con acceso completo a las bases de datos de prueba. ¿Cómo puedes encontrarlos?
Ejecute esta consulta:
SELECT user,host,db from mysql.db;
Tras la instalación de mysql, verá dos filas que dan acceso completo a cualquier base de datos llamada 'prueba' o cuyos primeros 5 caracteres son 'prueba_'.
Por qué es esto un problema ???
Intenta ejecutar este comando:
$ mysql -u'' -Dtest
Habrás conectado la base de datos de prueba sin una contraseña.
Ahora, cree una tabla y cárguela con una fila:
CREATE TABLE mytable (a int);
INSERT INTO mytable VALUES (1);
OK, gran cosa. ¿Podrías duplicar esta mesa en tamaño 30 veces?
INSERT INTO mytable SELECT * FROM mytable;
INSERT INTO mytable SELECT * FROM mytable;
... (30 times)
INSERT INTO mytable SELECT * FROM mytable;
Qué sacas ?? Una mesa con 1,073,741,824 filas. Fácilmente, 4GB +.
Imagina crear una tabla de cualquier tamaño. ¿Qué tal crear un montón de tablas en la base de datos de prueba y acceder libremente a ellas a voluntad?
Lo mejor que puede hacer en estas circunstancias es ejecutar esta consulta:
DELETE FROM mysql.db;
y reinicie mysql. Entonces, esas tres cuentas quedarán correctamente inoperantes.
Darle una oportunidad !!!
ACTUALIZACIÓN 2011-09-12 10:00 EDT
Esta eliminación:
DELETE FROM mysql.db;
FLUSH PRIVILEGES;
es justo lo que necesita para una instalación inicial. Sin embargo, si ya tiene usuarios establecidos, puede ejecutar esto en su lugar:
DELETE FROM mysql.db WHERE db IN ('test','test_%');
FLUSH PRIVILEGES;
Esto eliminará los dos permisos de DB específicos.
Como mencioné en mi respuesta, los tres permisos son muy peligrosos para las bases de datos de prueba. Ejecutar este DELETE neutralizará esas cuentas por tener derechos completos para probar bases de datos.