problemi strano con outfile mysql sotto FreeBSD
-
24-10-2019 - |
Domanda
(Vedere la mia risposta qui sotto. Lasciando questo in su nel caso in cui aiuta a qualcun altro.)
Quello che segue è una serie di tentativi per eseguire il dump di una query a un file di emissione su una nuova scatola di FreeBSD che il mio sito si è spostato. I risultati sono gli stessi, se entro come me o se entro come root. Spero che lo stile non è troppo fastidioso. Ho i miei commenti commentate tutto il codice e di uscita effettiva.
// provare a scaricare query per mia casa dir
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)
// provato la creazione del file prima con touch e anche chmod 077 file di // ma lo stesso errore ogni volta ??p>
// OK, consente di provare / 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)
// Quindi cerchiamo un'occhiata al file
less /tmp/x
/tmp/x: No such file or directory
// Entra di nuovo in MySQL e riprova stessa query
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
// Nessun file x.
// Se corro domanda senza INTO OUTFILE Vedo 24000+ filari di
| 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 |
// Quindi so che non è la query ...
// Consigli?
Soluzione
Doh! Quando accedo in MySQL su questa macchina la mia stringa di connessione ha un indirizzo IP in esso. / Tmp per quanto mysql è interessato non è sulla macchina sono entrato in ...
così risolto problema utilizzando mysql -e
es:
mysql -h my.db.com -u usrname--password=pass db_name -e 'SELECT foo FROM bar' > /tmp/myfile.txt