Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从php代码运行sql文件以在其他服务器中插入数据_Php_Mysql - Fatal编程技术网

从php代码运行sql文件以在其他服务器中插入数据

从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']}

我想将数据从测试服务器数据库传输到实时服务器数据库。数据的格式为.sql文件。因此,在stage server上使用php可以使用shell_exec()传输数据吗

$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');