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

ERREUR :le chargement des données locales est désactivé - cela doit être activé à la fois côté client et côté serveur

Si la fonctionnalité LOCAL est désactivée, côté serveur ou côté client, un client qui tente d'émettre une instruction LOAD DATA LOCAL reçoit le message d'erreur suivant :

ERROR 3950 (42000): Loading local data is disabled; this must be
enabled on both the client and server side

J'ai rencontré le même problème lorsque je veux charger le fichier texte pet.txt dans la table pet suite à un tuto de Mysql :https://dev.mysql.com/doc/refman/8.0/en/loading-tables.html

Après une recherche en ligne, j'ai résolu le problème en suivant ces étapes :

  1. définissez les variables globales à l'aide de cette commande :
mysql> SET GLOBAL local_infile=1;
Query OK, 0 rows affected (0.00 sec)
  1. quitter le serveur actuel :
mysql> quit
Bye
  1. connectez-vous au serveur avec la variable système local-infile :
mysql --local-infile=1 -u root -p1

Cette variable contrôle la capacité LOCAL côté serveur pour les instructions LOAD DATA. Selon le paramètre local_infile, le serveur refuse ou autorise le chargement de données locales par les clients pour lesquels LOCAL est activé côté client. time ou runtime), démarrez mysqld avec local_infile désactivé ou activé, respectivement. local_infile peut également être défini lors de l'exécution.

  1. utilisez votre base de données et chargez le fichier dans la table :
mysql> use menagerie
Database changed
mysql> load data local infile '/path/pet.txt' into table pet;
Query OK, 8 rows affected, 7 warnings (0.00 sec)

Est-ce que ça marche ?

Références :

https://dev.mysql.com /doc/refman/8.0/en/load-data-local-security.html https://dev.mysql.com /doc/refman/8.0/en/source-configuration-options.html#option_cmake_enabled_local_infile https://dev.mysql.com /doc/refman/8.0/en/server-system-variables.html#sysvar_local_infile