我正在尝试使用php系统函数和mysqldump命令对我的数据库进行完全备份。
<?php
date_default_timezone_set("Africa/Lagos");
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$database = 'db';
$user = 'me';
$pass = 'pass';
$host = 'localhost';
$dir = 'file' . date('Y.m.d_H.m.s') . '.sql.gz';
$tempConfig = tmpfile();
fwrite($tempConfig, "[client]\nhost={$host}\nuser={$user}\npassword={$pass}");
$tempConfigPath = stream_get_meta_data($tempConfig)['uri'];
echo "mysqldump --add-drop-table --defaults-extra-file={$tempConfigPath} $database --routines --triggers | gzip > $dir";
system("mysqldump --defaults-extra-file={$tempConfigPath} $database | gzip > $dir");
exit;
代码运行良好,但问题是它跳过了许多表。它备份了190多张table中的10张。我上一次手动备份大约是190mb。任何关于它为什么不备份完整数据库的帮助或解释都是有帮助的。谢谢您。
暂无答案!
目前还没有任何答案,快来回答吧!