Mysql
 sql >> Base de données >  >> RDS >> Mysql

Erreur 1148 MySQL La commande utilisée n'est pas autorisée avec cette version de MySQL

Le chargement d'un fichier local dans MySQL est un risque pour la sécurité et est désactivé par défaut, vous souhaitez le laisser désactivé si vous le pouvez. Lorsqu'il n'est pas autorisé, vous obtenez cette erreur :

ERROR 1148 (42000): The used command is not allowed with this MySQL version

Solution :

  1. Utilisez --local-infile=1 argument sur la ligne de commande mysql :

    Lorsque vous démarrez MySQL sur le terminal, incluez --local-infile=1 argument, Quelque chose comme ça :

    mysql --local-infile=1 -uroot -p
    
    mysql>LOAD DATA LOCAL INFILE '/tmp/foo.txt' INTO TABLE foo 
    COLUMNS TERMINATED BY '\t';
    

    Alors la commande est autorisée :

    Query OK, 3 rows affected (0.00 sec)
    Records: 3  Deleted: 0  Skipped: 0  Warnings: 0
    
  2. Ou envoyez le paramètre dans le démon mysql :

    mysqld --local-infile=1
    
  3. Ou définissez-le dans le fichier my.cnf (C'est un risque pour la sécurité) :

    Trouvez votre mysql my.cnf fichier et modifiez-le en tant que root.

    Ajoutez le local-infile sous les désignateurs mysqld et mysql :

    [mysqld]
    local-infile 
    
    [mysql]
    local-infile 
    

    Enregistrez le fichier, redémarrez mysql. Réessayez.

Plus d'informations peuvent être trouvées ici :http:// dev.mysql.com/doc/refman/5.1/en/load-data-local.html