Question

(Voir ma réponse ci-dessous. Laissant cela dans le cas où il aide quelqu'un d'autre.)

Ce qui suit est une série de tentatives de sauvegarder une requête à un fichier de sortie sur une nouvelle boîte de FreeBSD que mon site a déménagé. Les résultats sont les mêmes si je me connecte que moi ou si je me connecte en tant que root. J'espère que le style est pas trop gênant. J'ai mes commentaires en commentaires dans le code réel et la sortie.

// essayer de vider requête à mon répertoire personnel

SELECT pmr.datetime_requested, 
nfo.postal_code 
FROM 
print_mailing_request pmr, 
personal_info nfo 
WHERE  
nfo.person = pmr.person AND 
pmr.datetime_requested >= "2010-01-01 00:00:00"  AND 
(pmr.print_mailing = 31 OR pmr.print_mailing = 30)
ORDER BY pmr.datetime_requested INTO OUTFILE '/usr/home/david/x';

ERROR 1 (HY000): Can't create/write to file '/usr/home/david/x' (Errcode: 2)

// essayé la création du fichier d'abord avec contact et même chmod 077 fichier // mais même erreur chaque fois

// OK, permet d'essayer / tmp

SELECT pmr.datetime_requested, 
nfo.postal_code 
FROM 
print_mailing_request pmr, 
personal_info nfo 
WHERE  
nfo.person = pmr.person AND 
pmr.datetime_requested >= "2010-01-01 00:00:00"  AND 
(pmr.print_mailing = 31 OR pmr.print_mailing = 30)
ORDER BY pmr.datetime_requested INTO OUTFILE '/tmp/x';

Query OK, 24654 rows affected (0.78 sec)

// si le regard de laisser le fichier

less /tmp/x
/tmp/x: No such file or directory

// Connexion de nouveau dans MySQL et essayer à nouveau même requête

ERROR 1086 (HY000): File '/tmp/x' already exists

ls /tmp
20100325180233.gtg2010.csv      20100330094652.gtg2010.csv
20100325180448.gtg2010.csv      2010_Q1_UNO.csv
20100325181446.gtg2010.csv      4724.csv
20100325181927.gtg2010.csv      aprbUfvxp
20100326003002.gtg2010.csv      dave.txt
20100327003002.gtg2010.csv      etr.xml
20100328003002.gtg2010.csv      mysql.sock
20100329003003.gtg2010.csv

// Aucun fichier x.

// Si je lance requête sans INTO OUTFILE Je vois 24000+ lignes de

| 2010-04-04 13:27:09 | 33156                |
| 2010-04-04 13:27:10 | 33156                |
| 2010-04-04 13:30:04 | NE38 8SR             |
| 2010-04-04 14:27:03 | 00901                |
| 2010-04-04 14:37:04 | 75001                |
| 2010-04-04 14:53:05 | 78640                |
| 2010-04-04 15:15:03 | 07410                |
| 2010-04-04 15:27:04 | 43235                |

// Je sais que ce n'est pas la requête ...

// Conseil?

Était-ce utile?

La solution

Doh! Lorsque je me connecte à MySQL sur cette machine ma chaîne de connexion a une adresse IP en elle. / Tmp en ce qui concerne mysql est pas sur la machine que je suis connecté en ...

donc je résolu problème en utilisant mysql -e par exemple:

mysql -h my.db.com -u usrname--password=pass db_name -e 'SELECT foo FROM bar' > /tmp/myfile.txt
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top