Nasıl yedekleme PHP kullanarak bir SQL veritabanı mı?

4 Cevap php

Nasıl yedek bir SQL veritabanı PHP kullanarak yapmak.

ANSI SQL uyduğunu bunu yapmak için bir satıcı agnostik yolu var mı?

Eğer değilse belki veritabanı sunucuları her biri için bunu yapmak için nasıl sıralayabiliriz?

4 Cevap

Her veritabanı sistemi içeriğini damping için bazı program ile birlikte geliyor.

You can simply call that program from PHP using system() or shell_exec().

For example, if you use PostgreSQL with enabled Ident authentication and want to dump the Database test directly as SQL text to the browser, it's as simple as:

<?php
header('Content-type: text/plain');
system('pg_dump test');
?>

When using MySQL with database user and password stored into ~/.my.cnf, it is also very simple:

<?php
header('Content-type: text/plain');
system('mysqldump test');
?>

However, don't do this:

<?php
header('Content-type: text/plain');
system('mysqldump -utestuser -ptestpassword test');
?>
because transmitting a password as command line argument is very insecure.

Seviyorum phpmybackuppro

Oldukça karmaşık bir süreç. Ben size phpmyadmin veya benzeri kullanmanızı öneririz.

Mümkün ve takdire şayan olduğunu "ANSI SQL conformant" bir veritabanı yedekleme ederken, yine taşınabilirlik sorunları karşılaşacak. En belirgin MySQL dökümü iken / biçimi SQL standart olmayan bir uzantısı kullanılarak esas başarır, oldukça hızlı geri olmasıdır. Yani sadece PostgreSQL dökümü teslim edemiyor: bu iş olmaz. Aslında, PostgreSQL aynı zamanda INSERT tabloların büyük miktarda taşıma oldukça yavaş. Yerli dökümü biçimi seferde veri büyük miktarda sokulması için optimize o kendi özel SQL deyimi kullanır bulunuyor.