Maison > Questions et réponses > le corps du texte
P粉3168908842023-08-30 00:09:36
Si la fonctionnalité LOCAL est désactivée côté serveur ou client, un client essayant d'émettre une instruction LOAD DATA LOCAL recevra 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 j'ai voulu charger le fichier texte pet.txt dans la table pet en suivant le tutoriel de Mysql : https://dev.mysql.com/doc/refman/8.0/en/loading-tables html.
Après une recherche en ligne, je l'ai corrigé en procédant comme suit :
mysql> SET GLOBAL local_infile=1; Query OK, 0 rows affected (0.00 sec)
mysql> quit Bye
mysql --local-infile=1 -u root -p1
Cette variable contrôle la fonctionnalité LOCAL côté serveur de l'instruction LOAD DATA. En fonction du paramètre local_infile, le serveur refuse ou autorise les clients avec LOCAL activé sur le client à charger des données locales. Pour amener explicitement le serveur à refuser ou autoriser les instructions LOAD DATA LOCAL (quelle que soit la façon dont le programme client et les bibliothèques sont configurés au moment de la construction ou de l'exécution), démarrez mysqld avec local_infile désactivé ou activé, respectivement. local_infile peut également être défini au moment de l'exécution.
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 efficace ?
Référence :
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