gpt4 book ai didi

php - 我们如何使用 php 脚本将 mysqldump 到另一个数据库,这样触发器就不会随之被转储?

转载 作者:行者123 更新时间:2023-11-29 03:14:34 25 4
gpt4 key购买 nike

我们如何使用 php 脚本对另一个数据库执行 mysqldump,这样触发器就不会随之被转储?

最佳答案

像这样的东西应该可以工作:

$db_name = "db";
$outputfile = "/somewhere";
$new_db_name = 'newdb';

$cmd = 'mysqldump --skip-triggers %s > %s 2>&1';
$cmd = sprintf($cmd, escapeshellarg($db_name), escapeshellcmd($output_file));
exec($cmd, $output, $ret);
if ($ret !=0 ) {
//log error message in $output
}

然后导入:

$cmd = 'mysql --database=%s < %s 2>&1';
$cmd = sprintf($cmd, escapeshellarg($new_db_name), escapeshellcmd($output_file));
exec($cmd, $output, $ret);
//etc.

unlink($outputfile);

请注意,需要先创建新数据库。您可能还需要为每个命令指定用户名和密码。

编辑

您也可以在一个命令中执行此操作,例如

exec('mysqldump --skip-triggers sourcedb | mysql --database targetdb 2>&1', $output, $return);

关于php - 我们如何使用 php 脚本将 mysqldump 到另一个数据库,这样触发器就不会随之被转储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2764908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com