GNU/Linux >> LINUX-Kenntnisse >  >> Linux

MySQL-Daten können nicht in Datei ausgegeben werden

Laut MySQL-Dokumentation zu SELECT ... INTO OUTFILE

Jede Datei, die von INTO OUTFILE oder INTO DUMPFILE erstellt wurde, kann von allen Benutzern auf dem Serverhost geschrieben werden. Der Grund dafür ist, dass der MySQL-Server keine Datei erstellen kann, die jemand anderem als dem Benutzer gehört, unter dessen Konto er läuft. (Aus diesem und anderen Gründen sollten Sie mysqld niemals als root ausführen.) Die Datei muss daher global beschreibbar sein, damit Sie ihren Inhalt manipulieren können.

Sie sollten den SELECT INTO OUTFILE ausgeben zu /var/lib/mysql wie folgt

SELECT * FROM data INTO OUTFILE 'data.csv';

Natürlich müssen Sie sicherstellen, dass Sie die DATEI-Berechtigung für [email protected]

haben

Es gibt zwei Möglichkeiten, diese Erlaubnis zu erteilen

METHODE #1

GRANT FILE ON *.* TO 'gs'@'localhost';

METHODE #2

UPDATE mysql.user SET File_priv = 'Y' WHERE user='gs' AND host='localhost';
FLUSH PRIVILEGES;

UPDATE 2012-05-01 07:09 EDT

Gehen Sie wie folgt vor, um sich selbst DATEI-Berechtigung zu erteilen:

service mysql restart --skip-networking --skip-grant-tables
mysql <hit enter>
UPDATE mysql.user SET File_priv = 'Y' WHERE user='gs' AND host='localhost';
exit
service mysql restart

Linux
  1. Dateiübertragungsprotokolle:FTP vs. SFTP

  2. Eingabe-/Ausgabeumleitung in Linux/Unix

  3. Wie speichere ich die Ausgabe von SHOW PROCESSLIST in einer Datei in MySQL?

  4. Wie leite ich die Ausgabe eines Programms in eine Zip-Datei um?

  5. Syntax der Loggedfs-Konfigurationsdatei?

MySQL-Datentypen

Bash:In Datei schreiben

PHP MySQL Select-Daten

Ext4-Datenwiederherstellung?

Erfassen Sie die nethogs-Ausgabe in der Protokolldatei

Verbessern Sie die Geschwindigkeit des MySQL-Imports