Als de LOCAL-mogelijkheid aan de server- of clientzijde is uitgeschakeld, ontvangt een client die probeert een LOAD DATA LOCAL-instructie uit te geven het volgende foutbericht:
ERROR 3950 (42000): Loading local data is disabled; this must be
enabled on both the client and server side
Ik kwam hetzelfde probleem tegen toen ik het tekstbestand pet.txt in de pet-tabel wilde laden na een tutorial van Mysql:https://dev.mysql.com/doc/refman/8.0/en/loading-tables.html
Na online zoeken heb ik het als volgt opgelost:
- stel de globale variabelen in met dit commando:
mysql> SET GLOBAL local_infile=1;
Query OK, 0 rows affected (0.00 sec)
- huidige server afsluiten:
mysql> quit
Bye
- verbind met de server met local-infile systeemvariabele:
mysql --local-infile=1 -u root -p1
Deze variabele regelt de LOCAL-mogelijkheid aan de serverzijde voor LOAD DATA-instructies. Afhankelijk van de instelling local_infile, weigert of staat de server het laden van lokale gegevens toe door clients die LOCAL aan de clientzijde hebben ingeschakeld. time of runtime), start mysqld met local_infile respectievelijk uitgeschakeld of ingeschakeld. local_infile kan ook tijdens runtime worden ingesteld.
- gebruik je database en laad het bestand in de tabel:
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)
Werkt het?
Referenties:
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