1

我最近升级到 MySQL v5.5,我的旧 mysqldump 脚本坏了,现在给我错误,“mysqldump: ambiguous option '--all' (all-databases, allow-keywords)”。

这是我原来的 mysqldump 行:

mysqldump -h localhost -u 用户名 -pPASSWORD -c --add-drop-table --add-locks --all --quick --lock-tables DATABASE > mysql_backups/DB-DUMP- date +%Y-%m-%d-%H-%M-%S.sql

因此,环顾四周后,我被告知您不需要--all option, 并使用 --databases DATABASE NAME,但是我不能使用此选项,因为它USE (DATABASE NAME)在输出文件中包含 " " 行,这不适用于我的设置因为这个文件是一个“实时”转储,它被导入另一个数据库,但名称不同。

下一个建议是只使用:

mysqldump -u 用户名 -pPASSWORD 数据库 > mysql_backups/DB-DUMP- date +%Y-%m-%d-%H-%M-%S.sql

不幸的是,这实际上并没有给我任何数据,而只是这样:

-- MySQL dump 10.13  Distrib 5.5.31, for Linux (x86_64)
--
-- Host: localhost    Database: DATABASE
-- ------------------------------------------------------
-- Server version       5.5.31-cll

/*!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-06-11  2:55:52

在调查了这个之后,似乎大多数人都因为权限而遇到了这个问题,但是我试图转储这个数据库的用户拥有绝对的完全权限。

我已经在 Google 上搜索了很长一段时间,被带回 Stack Overflow 和整个网络上的许多其他帖子,但没有任何实际帮助。我变得非常沮丧,我不确定接下来要尝试什么,所以如果有人有任何建议,我将不胜感激。

4

0 回答 0