RSS
 

Backup von MySQL Datenbanken in PHP

Veröffentlicht am Mai 25, 2007 um 2:08 pm

25 Mai

Christan Friebel von unserer Partnerfirma TecArt hat mir eine Lösung gezeigt für ein Problem, das ich immer total kompliziert gelöst habe. Wenn man eine MySQL Datenbank hat, die ziemlich groß ist, dann scheitert leider PHPMyAdmin am Export der Daten. Mit folgenden PHP Script kann man aber die Daten leicht exportieren:

<span id="more-33"></span>define('MYSQLDUMP', '/usr/bin/mysqldump');
define('DBHOST', 'server.de');
define('DBUSER', 'user');
define('DBPASS', 'pass');
define('DB', 'dbname');
define('EXPORTDIR', '/homepages/pfad/htdocs/export/');
set_time_limit(0);
exec(MYSQLDUMP." -h ".DBHOST." -u ".DBUSER." --password=".DBPASS." ".DB." &gt; ".EXPORTDIR.DB.".sql 2&gt; ".EXPORTDIR."errors.txt");
echo "Export finished!";

den Pfad für MYSQLDUMP und MySQL kann man mit folgendem Befehl ermitteln:

$fpd = popen("which mysqldump");
$path_to_mysqldump = trim(fread($fpd, 1024));
pclose($fpd);
$fp = popen("which mysql");
$path_to_mysql = trim(fread($fp, 1024));
pclose($fp);

Wieder einspielen kann man das Backup dann so:

exec("/usr/bin/mysql -u user --password=password-D usr_user_1 &lt; dbname.sql");
 

Hinterlassen Sie eine Nachricht