2015-05-27 4 views
-2

Мне нужен один скрипт, который когда я открываю страницу script.php, например, экспортирую мне одну базу данных из mysql в документ .sql, и я не знаю, как это сделать в php, может кто-нибудь мне помочь с этим?Как я могу экспортировать базу данных mysql с помощью php-скрипта?

Edited Код:

<?php 

$dbhost = "localhost"; 
$dbuser = "root"; 
$dbpwd = ""; 
$dbname = "activmanagement"; 
$dumpfile = $dbname . "_" . date("Y-m-d_H-i-s") . ".sql"; 

passthru("D:/wamp/bin/mysql/mysql5.6.17/bin/mysqldump --opt --host=$dbhost --user=$dbuser --password=$dbpwd $dbname > $dumpfile"); 

// report - disable with // if not needed 
// must look like "-- Dump completed on ..." 

echo "$dumpfile "; passthru("tail -1 $dumpfile"); 

?> 

Эта линия:

passthru("D:/wamp/bin/mysql/mysql5.6.17/bin/mysqldump --opt --host=$dbhost --user=$dbuser --password=$dbpwd $dbname > $dumpfile"); 
+0

просто использовать 'mysqldump' https://dev.mysql.com/doc/refman/5.1/en/mysqldump.html –

+0

тогда вы могли бы сделать это медленно неэффективна way @PHPglue –

+0

@Dagon, поэтому я отредактировал свой вопрос, и я использовал этот код, и он сработал, но я запустил в wamp, как и посмотрел, был ли мой сайт на хосте, часть на «This line», это было бы правильно? – Richard

ответ

0

См PHP - exec() vs system() vs passthru(). Вам просто нужно что-то вроде этого


<?php 
    $dbhost = 'localhost'; 
    $dbuser = 'root'; 
    $dbpass = ''; 
    $dbname = 'activmanagement'; 

    $sql_backup_file = $dbname . date("Y-m-d-H-i-s") . '.gz'; 
    $dump = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $sql_backup_file"; 

    system($dump); 
?> 
Смежные вопросы