No puede otorgar privilegios de ARCHIVO en una sola base de datos. Eso lógicamente no tiene ningún sentido. Considere lo que los documentos decir:
Por lo tanto, el privilegio de ARCHIVO es un global privilegio. Afecta a todos los archivos en el servidor y permite el acceso solo a comandos globales (por ejemplo, LOAD DATA INFILE
, etc...), sin alcance a ninguna base de datos. La única forma de otorgar privilegios de ARCHIVO es en todas las bases de datos, usando esta sintaxis:
GRANT FILE ON *.* TO 'john'@'localhost';