【发布时间】:2013-12-19 01:20:09
【问题描述】:
我正在尝试转储我的数据库的副本,以确保我拥有执行此操作的适当权限,并确保备份策略能够继续工作。我遇到的问题是我无法创建转储文件。每次我尝试这样做时,它都会返回给我以下内容:
-- MySQL dump 10.13 Distrib 5.5.32, for Linux (i686)
--
-- Host: localhost Database: dbname
-- ------------------------------------------------------
-- Server version 5.5.32
/*!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 */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2013-12-18 10:34:02
我正在运行的命令是:
mysqldump -uroot -p --flush-logs --single-transaction --master-data=2 --delete-master-logs --databases dbname > ./Back_Up_Test`date +%Y_%m_%d`.sql.bak
我试图在命令末尾添加 2>Error.err 以检查存在的错误,但它似乎没有对我产生任何错误,因为文件大小为 0。这样,用户目前,我正在尝试运行它的人是 root,并且对所有内容都具有完全权限。
+----------------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@localhost |
+----------------------------------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD *password* WITH GRANT OPTION |
| GRANT ALL PRIVILEGES ON `dbname`.* TO 'root'@'localhost' WITH GRANT OPTION |
| GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION |
+----------------------------------------------------------------------------------------------------------------------------------------+
让我感到困惑的是,该命令在 Dev 中运行良好,但在此测试环境中,无论出于何种原因,都拒绝创建备份。该文件夹应具有适当的权限,因为该文件最终存在于具有适当名称的目录中,它根本没有结构或其中的数据。
更新: 我现在尝试使用 --all-databases 作为选项,它返回的文件大小和内容与以前完全相同。我不确定是什么原因。
【问题讨论】: