Aloha ! Mam chwile czasu to sobie popisze troche . A wiec nalezaloby wprowadzic troche logiki do tego przesluchania

.
Wiec jeszcze raz jezeli chodzi o mysqldump. Jest to programik systemowy doloaczony do dystrybucji MySql-a, ktory ja sama nazwa wskazuje wykonuje dumpy (zrzuty) baz danych , lub pojedynczych tabel do dalszej redystrybucji.
Poniewaz jest to program tzw. systemowy, nie mozna uruchomic go bezposrednio z php-a ( mam na mysli jakas funkcje php ktora pracowalaby z wkompilowanym rozszerzeniem obslugujacym mysqldump ), jedyne co ci pozostaje, to uzyc, tak jak powiedzial kolega @melkorm funkcji system, exec etc.
Kod
<?
system("mysqldump -uroot -phaslo dom > backup-file.sql");
?>
No a teraz co sie z tym wiaze.
1. Jezeli robisz to pod Windowsem na swoim localhoscie, musisz upewnic sie czy twoj system zna sciezke do programu mysqldump. Nalezaloby w CMD napisac
Kod
echo $PATH
i sprawdzic, czy ktoras ze wskazanych sciezek systemowych laduje w katalogu mysql/bin, bo tam wlasnie umieszczony jest program mysqldump.
Druga mozliwosc to wpisac w CMD mysqldump i zobaczyc czy system znajduje ten program.
Jezeli nie znajduje to powinienes sciezke do mysql/bin dodac do sciezek w swoim systemie.
Jezeli uzywasz XAMPP powinno to byc C:/XAMPP/mysql/bin. Mozesz rowniez uruchomic mysqldump w php w ten sposob
Kod
<?
system("C:/XAMPP/mysql/bin/mysqldump -uroot -phaslo dom > backup-file.sql");
?>
Nalezaloy sie rowniez zastanowic gdzie zostanie wygenerowany plik backup-file.sql, bo w tym przypadku bedzie to dokladnie katalog, w ktorym zanjduje sie mysqldump.
Czyli zeby miec nad tym jakas kontrole nalezaloby zrobic to tak
Kod
<?
system("C:/XAMPP/mysql/bin/mysqldump -uroot -phaslo dom > C:/jakis_folder/backup-file.sql");
?>
2. Jest to najszybszy sposob na zrobienie zrzutu bazy, ale funkcja "system" , jest na tyle asynchroniczna, ze przy duzej bazie twoj skrypt php zakonczy sie wczesniej niz utworzenie dumpa.
Nie masz mozliwosci z poziomu php ( w szczegolnosci pod winda ) dowiedziec sie czy twoja operacje zakonczyla sie sukcesem, czy trwa , albo czy wogole sie zaczela

.
3. Jezeli taki trik chcesz zastosowac na servie , na ktorym masz jedynie webspace, najprawdopodobniej zakonczy sie to niepowodzeniem, poniewaz nie bedziesz mial mozliwosci uruchamiania z poziomu php programow, ktore wymagaja podania sciezki spoza twojego dokumentu root. ( No chyba, ze administrator ci n to pozwoli ).
Czyli jak widac nie jest to takie trywialne zadanie, dlatego PhpMyAdmin robi to, uzywajac dostepnych funkcji do pracy z baza mysql.
W tej sytuacji powinienes rozpoczac od
Kod
$res = mysql_query ("show tables");
Wylistowac wszystkie table no i nastepnie krok po kroku selectowac kazda jedna, a z razultatu robic potrzebny ci plik tekstowy ( zgodnie z syntaxem mysql ) , ktory bedzie twoim dumpem;
Ufff. Przepraszam za przynudzanie
Pozdrawiam.