¿Creaste el usuario desde la terminal tambien?
Puedes poner el resultado de:
Edit:
Me acabo de dar cuenta que tienes:
Y luego le estas dando:
Con el primer grant basicamente le estas diciendo que puedes leer toda la tabla.
Puedes poner el resultado de:
Código (mysql) [Seleccionar]
SHOW GRANTS FOR 'user'@'localhost';
Edit:
Me acabo de dar cuenta que tienes:
Código (mysql) [Seleccionar]
GRANT SELECT;
Y luego le estas dando:
Código (mysql) [Seleccionar]
GRANT SELECT (campo1, campo3);
Con el primer grant basicamente le estas diciendo que puedes leer toda la tabla.