我正在使用 php 代码备份我的 mysql 数据库。我使用了以下代码
$username =escapeshellcmd($db_user);
$password =escapeshellcmd($db_pass);
$hostname =escapeshellcmd($db_host);
$database =escapeshellcmd($db_name);
$backupFile='/dbBackup/'.date("Y-m-d-H-i-s").'.sql.gz';
$command = "mysqldump -u$username -p$password -h$hostname $database | gzip > $backupFile";
system($command, $result);
我将此代码放在 php 文件中并调用此文件以在 dbBackup 文件夹中生成备份。我在一台服务器上有两台服务器,此代码运行良好,但在第二台服务器上,此代码生成 .sql zip 文件,其中仅包含 sql 的一部分,如下所示
-- MySQL dump 10.13 Distrib 5.5.23, for Linux (x86_64)
--
-- Host: localhost Database: zm3_quizzes
-- ------------------------------------------------------
-- Server version 5.5.23-55
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
为什么会这样?
提前致谢。