Datenablage mySQL und FILE-Berechtigung

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Datenablage mySQL und FILE-Berechtigung

    ich hole mit einem Script Daten aus der mySQL-Datenbank.

    Quellcode

    1. SELECT * INTO OUTFILE ...


    Die Daten werden local wunderbar auf dem XAMPP-Server abgelegt. Allerdings eben nicht auf Webspace, sondern nur local (Fehlermeldung:
    Access denied for user '****'@'localhost' (using password: YES)
    ).
    Nun habe ich mir die Docu von mySQL durchgelesen und den Hinweis
    d. h., Sie benötigen die Berechtigung FILE
    gefunden.
    Was much ich nun aber machen, dass ich diese Berechtigung vergebe.

    Vielen Dank für die Hilfe.
  • Hallo,

    hast du denn einen eigenen Server (vserver/root server/etc) oder nur webspace + myqsl + php etc?

    im normalfall kannst du, wenn es nicht dein eigener server ist, an den einstellungen nichts ändern, außer dein hoster erlaubt es (auf nachfrage?)

    wenn es dein eigener ist, musst du dir nur selber die rechte geben (unter rechte in phpmyadmin)

    aber wenn du nur ein dump deiner db(s) machen willst kannst du das auch mit mysqldump und exec / system machen...

    erleuchte uns doch mal bitte ;)

    mfg da BendIt
    .:Reden Ist Schweigen und Silber Ist Gold:.

    real programmers don't comment their code: if it was hard to write, it should be hard to read!
  • Die Datei wird per SQL_Anwiesung erzeugt und abgelegt.

    Quellcode

    1. SELECT option_value INTO OUTFILE '" . $document_root . "/datei.txt' FROM ... WHERE name = 'test'


    Dies funktioniert Lokal auch sehr gut, aber eben nicht auf dem Webspace. Die Rechte für INTO OUTFILE reichen da wohl nicht und die kann ich nicht beienflussen.
  • Da man die Rechte nicht auf fremden Webspace ändern kann, habe ich es nun mit anderen Funktionen gelößt.

    Quellcode

    1. $data = mysql_query("SELECT feld1 FROM table1 WHERE option_name = 'test'");
    2. $data = mysql_result($data, 0);
    3. $fh = fopen($file_name, 'w');
    4. @flock($fh, LOCK_EXCLUSIVE);
    5. $err = @fputs($fh, $data);
    6. @fclose($fh);