MySQL - SELECT * INTO OUTFILE LOCAL ?
Lors d'une récente migration de serveur, une base de données a été déplacée vers un autre serveur, provoquant la précédente la commande "SELECT * INTO OUTFILE ..." échoue. Alors que "LOAD DATA INFILE..." restait fonctionnel, l'absence d'une option correspondante "SELECT INTO OUTFILE LOCAL" a rendu l'utilisateur perplexe.
Explication de l'absence de "SELECT INTO OUTFILE LOCAL"
Contrairement à "LOAD DATA INFILE" qui lit à partir d'un fichier local sur le serveur, "SELECT INTO OUTFILE" est destiné à générer un fichier texte sur le serveur lui-même. Pour des raisons de sécurité, la possibilité de créer des fichiers sur des clients externes est restreinte, d'où l'impossibilité de "SELECT INTO OUTFILE LOCAL" de fonctionner.
Solution Alternative
La Le manuel recommande d'utiliser MySQL en combinaison avec une redirection pour générer le fichier sur l'hôte client, comme le montre l'exemple ci-dessous :
mysql -h my.db.com -u usrname--password=pass db_name -e 'SELECT foo FROM bar' > /tmp/myfile.txt
Capacité de MariaDB
Pendant que l'article ne mentionne pas explicitement MariaDB, le problème concerne le comportement de MySQL et n'affecte pas directement les fonctionnalités de MariaDB.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!