从php代码运行sql文件以在其他服务器中插入数据
我想将数据从测试服务器数据库传输到实时服务器数据库。数据的格式为.sql文件。因此,在stage server上使用php可以使用shell_exec()传输数据吗从php代码运行sql文件以在其他服务器中插入数据,php,mysql,Php,Mysql,我想将数据从测试服务器数据库传输到实时服务器数据库。数据的格式为.sql文件。因此,在stage server上使用php可以使用shell_exec()传输数据吗 $command=“mysql-u{$vals['db_user']}-p{$vals['db_pass']}” . “-h{$vals['db_host']}-D{$vals['db_name']}
$command=“mysql-u{$vals['db_user']}-p{$vals['db_pass']}”
. “-h{$vals['db_host']}-D{$vals['db_name']}<{$script_path}”;
$output=shell_exec($command.'/shellexec.sql');
上述代码不起作用。还有其他方法吗?为什么需要通过PHP实现?您不能使用命令行吗?我建议您编写一个bash脚本来执行实际导入,并使用PHP执行。您可以连接到PHP中的DB,执行文件获取内容,然后通过mysql查询执行它。示例:@Whiteagle,但live db位于不同的服务器中。@Partha,您可以连接到远程MySQL服务器(您不需要连接到本地服务器,您可以连接到远程主机,没有任何问题:),您只需打开防火墙上的MySQL端口,并允许用户从该特定IP地址访问即可。
$command = "mysql -u{$vals['db_user']} -p{$vals['db_pass']} "
. "-h {$vals['db_host']} -D {$vals['db_name']} < {$script_path}";
$output = shell_exec($command . '/shellexec.sql');