2015-05-27 22 views
-2

所以我需要一个脚本,当我打开script.php页面例如,导出我一个数据库从MySQL到.sql文件,我不知道如何在PHP中做到这一点,可以有人帮助我接着就,随即?如何使用php脚本导出mysql数据库?

编辑代码:

<?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

那么你会做缓慢低效@PHPglue –

+0

@Dagon所以我编辑了我的问题,我使用了代码,它的工作原理,但即时运行在像你这样的wamp中,看看我的网站是否在主机上的“这一行”,它会是不同的权利? – 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); 
?> 
相关问题