used - mysql activar load data local infile
LOAD DATA LOCAL INFILE da el error El comando usado no está permitido con esta versión de MySQL (3)
eche un vistazo a esta lista de permisos, puede agregarlos por separado, IE. puede insertar pero no actualizar, o puede eliminar pero no seleccionar, etc.
ALL [PRIVILEGES] Grant all privileges at specified access level except GRANT OPTION
ALTER Enable use of ALTER TABLE
ALTER ROUTINE Enable stored routines to be altered or dropped
CREATE Enable database and table creation
CREATE ROUTINE Enable stored routine creation
CREATE TEMPORARY TABLES Enable use of CREATE TEMPORARY TABLE
CREATE USER Enable use of CREATE USER, DROP USER, RENAME USER, and REVOKE ALL PRIVILEGES
CREATE VIEW Enable views to be created or altered
DELETE Enable use of DELETE
DROP Enable databases, tables, and views to be dropped
EVENT Enable use of events for the Event Scheduler
EXECUTE Enable the user to execute stored routines
FILE Enable the user to cause the server to read or write files
GRANT OPTION Enable privileges to be granted to or removed from other accounts
INDEX Enable indexes to be created or dropped
INSERT Enable use of INSERT
LOCK TABLES Enable use of LOCK TABLES on tables for which you have the SELECT privilege
PROCESS Enable the user to see all processes with SHOW PROCESSLIST
REFERENCES Not implemented
RELOAD Enable use of FLUSH operations
REPLICATION CLIENT Enable the user to ask where master or slave servers are
REPLICATION SLAVE Enable replication slaves to read binary log events from the master
SELECT Enable use of SELECT
SHOW DATABASES Enable SHOW DATABASES to show all databases
SHOW VIEW Enable use of SHOW CREATE VIEW
SHUTDOWN Enable use of mysqladmin shutdown
SUPER Enable use of other administrative operations such as CHANGE MASTER TO, KILL, PURGE BINARY LOGS, SET GLOBAL, and mysqladmin debug command
TRIGGER Enable trigger operations
UPDATE Enable use of UPDATE
USAGE Synonym for “no privileges”
Creo que tiene permiso para seleccionar, eliminar, insertar, actualizar, pero no para hacer otras cosas,
usa este comando:
SHOW GRANTS
él te mostrará lo que eres capaz de hacer, en mi caso.
jcho360> show grants;
+-------------------------------------------------------+
| Grants for jbolivar@localhost |
+-------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO ''jbolivar''@''localhost'' |
+-------------------------------------------------------+
1 row in set (0.00 sec)
Tengo un script PHP que llama a LOAD DATA INFILE
de LOAD DATA INFILE
para cargar datos desde archivos CSV. Sin embargo, en el servidor de producción, terminé con el siguiente error:
Acceso denegado para el usuario ... (usando la contraseña: sí)
Como una solución rápida, cambié el comando para LOAD DATA LOCAL INFILE
que funcionó. Sin embargo, el mismo comando falló en el servidor del cliente con este mensaje:
El comando usado no está permitido con esta versión de MySQL
Supongo que esto tiene algo que ver con la variable del servidor: local_infile = off
como se describe aquí .
Sugiera una solución alternativa que no implique cambiar la configuración del servidor. Tenga en cuenta que la utilidad phpMyAdmin instalada en el mismo servidor parece aceptar archivos CSV aunque no estoy seguro de que utilice LOAD DATA (LOCAL) INFILE
.
Estuve rastreando una solución durante aproximadamente 1 hora, finalmente encontré que necesito conectarme a una base de datos como esta $ dbh = mysql_connect ($ server, $ dbuser, $ dbpass, false, 128);
Pasar 128 en el parámetro flags es la clave.
Consulte http://www.php.net/manual/en/mysql.constants.php#mysql.client-flags para obtener más información sobre las banderas.
Se metió en el mismo problema que root y me lanzó por un momento
podría ser un problema con la configuración del servidor establecida con compilación
para probar el inicio de sesión en la consola con el mismo usuario y prueba tu comando cargar datos
si obtiene el mismo error, intente cerrar la consola y ejecutar
mysql -u USER -p --local-infile=1 DATABASE
Ahora intente ejecutar el comando cargar datos de nuevo
si funciona, entonces deberá reiniciar mysqld con la opción de línea de comando o volver a instalar con la opción de configuración
referencias (las referencias son para 5.0 pero me funcionaron con 5.5):
http://dev.mysql.com/doc/refman/5.0/en/load-data-local.html
http://dev.mysql.com/doc/refman/5.0/en/mysql-command-options.html#option_mysql_local-infile