Ankündigung

Einklappen
Keine Ankündigung bisher.

DB per PHP-Script sichern !

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • DB per PHP-Script sichern !

    Hallo@Forum,

    möchte eine MySQL-DB per PHP-Script sichern.

    Also PHP-Scribt irgendwie mit 'mysqldump' verbinden und das ganze in ne Datei, nur wie?

  • #2
    sowas geht mit system:

    system("/usr/bin/mysqldump -uUSERNAME -pPASSWORT -h HOST DATENBANKNAME | /bin/gzip > ABSOLUTER PFAD/dump_".time().".sql.gz", $fp);
    if ($fp==0) echo "Daten exportiert"; else echo "Es ist ein Fehler aufgetreten";

    Kommentar


    • #3
      PHPMyAdmin hat ne Exportfunktion, da kannste auch abschreiben :wink:

      wilko

      Kommentar


      • #4
        Er will nicht!

        hab es mit der Angabe von cgdesign versucht.
        Per Remote-Console und auch lokal kein Problem, im PHP-Script mit 'system'
        will er nicht sichern bzw. läßt es nicht zu. Hab aber alle Rechte auf der DB! Warum will er nicht per script?

        Kommentar


        • #5
          safe_mode = On ?

          Kommentar


          • #6
            Wo soll ich da nachschauen? Bin nicht so der Experte. Dankbar für weitere Info's!

            Kommentar


            • #7
              php.ini oder phpinfo(); da sollte es am Anfang stehen sowas wie:
              --enable-safe-mode

              Kommentar


              • #8
                Zitat von grisu77
                Wo soll ich da nachschauen?
                Code:
                printf ('
                
                safe_mode = %s', (ini_get('safe_mode')) ? 'On' : 'Off');

                Kommentar


                • #9
                  Hallo allerseits,
                  habe es immer noch nicht zum fliegen gebracht. Was könnt den noch nicht stimmen?

                  Hier was ich bisher habe:
                  Code:
                  system("/usr/bin/mysqldump Datenbankname | /bin/gzip > /home/a116z20/dump_".time().".sql.gz", $fp);
                  
                  		if ($fp==0){
                  
                  			echo "Daten exportiert";
                  
                  		}
                  
                  		else{
                  
                  			echo "Es ist ein Fehler aufgetreten";
                  
                  		}
                  User root hat alle Rechte ohne Passwortschutz auf der DB

                  In der php.ini ist safe_mode = On, safe_mode_exec_dir = On
                  [/code]

                  Kommentar


                  • #10
                    system("/usr/bin/mysqldump -uroot -p -h localhost Datenbankname | /bin/gzip > /home/a116z20/dump_".time().".sql.gz", $fp);
                    if ($fp==0)
                    {
                    echo "Daten exportiert";
                    }
                    else
                    {
                    echo "Es ist ein Fehler aufgetreten";
                    }

                    vielleicht so. Eventuell noch den Host anpassen! also statt localhost, was anderes, je nachdem wo die DB liegt

                    Kommentar


                    • #11
                      Nachtrag:

                      Code:
                      system("/usr/bin/mysqldump -u wwwrun Datenbankname > /home/a116z20/dump_".time().".sql", $fp);
                      
                            if ($fp==0){
                      
                               echo "Daten exportiert";
                      
                            }
                      
                            else{
                      
                               echo "Es ist ein Fehler aufgetreten";
                      
                            }
                      PHP-Web-User wwwrun für die DB angelegt und mit allem aussgestattet, trotzdem gleiches Bild. Immer :"Es ist ein Fehler aufgetreten".

                      Kommentar


                      • #12
                        Denke der Befehl ist so schon richtig aber aus welchen Gründen auch immer wird die Ausführung verhindert.

                        Code:
                        system("/usr/bin/mysqldump -u wwwrun -h IP-Adresse  Datenbankname > /home/a116z20/dump_".time().".sql", $fp);
                        Der Ausführende User ist dann laut phpinfo(), wwwrun

                        Für weitere Hinweise bin ich danbar.

                        Kommentar


                        • #13
                          probiers doch mal bitte so aus, wie ich dir jetzt den Code hier hinschreibe:
                          system("/usr/bin/mysqldump -uwwwrun -p -h localhost Datenbankname > /home/a116z20/dump_".time().".sql", $fp);

                          Kommentar


                          • #14
                            @cgdesign
                            hab es genau so angegeben wie Du gepostet hast, nur keinen Erfolg.
                            Wenn ich Deinen Post auf der Konsole ausführe möchte er , wegen der Option '-p', ein Passwort haben. Es ist jedoch keins gesetzt, für keinen USER, nach einmal ENTER macht er es auch wieder (immernoch Konsole).

                            Kommentar


                            • #15
                              dann leg doch einen User an

                              Kommentar

                              Lädt...
                              X