我有一个本地 MySQL 服务器 (wamp),并且我有一个在线 MySQL 服务器。 问题是我想将表从在线服务器备份到本地服务器(在现有表之间复制数据)。
我尝试使用mysqldump
,但没有结果
<?php
exec("mysqldump --host=onlinehost --user=username --password=password dbname table \
| mysql --host=localhost --user=root --password= dblocalname");
?>
最佳答案
如果你想从在线备份到本地 mysql 服务器,你必须打开一个端口并从本地调制解调器定义一个静态 IP。 (您可以从 ISP 处修复您的 IP)。
<?php
$DBUSER="USERNAME";
$DBPASSWD="PASS";
$DATABASE="DBNAME";
$filename = "backup-" . date("d-m-Y") . ".sql.gz";
$mime = "application/x-gzip";
header( "Content-Type: " . $mime );
header( 'Content-Disposition: attachment; filename="' . $filename . '"' );
$cmd = "mysqldump -u $DBUSER --password=$DBPASSWD $DATABASE | gzip --best";
passthru( $cmd );
echo ('Backup Complate !');
exit(0);
?>
您可以转储数据库并删除转储文件的方式。上面的示例脚本,创建转储并从网络浏览器自动下载:
这样,你可以使用在线mysql到本地db的备份程序。
您可以使用 crons 创建 Windows 服务,以将备份从在线数据库备份到本地数据库。
关于php - 使用php将表从在线sql服务器复制到本地服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41204685/