Alex Asked: 2016-04-23 08:00:16 +0800 CST2016-04-23 08:00:16 +0800 CST 2016-04-23 08:00:16 +0800 CST 如何在 mysqldump 的表名中转义 - 772 如果我想排除包含减号的架构中的表-,如何在 mysqldump 中转义它?还是我不需要? mysqldump --ignore-table=foo-bar.tl_log 似乎不起作用 mysql 3 个回答 Voted Alex 2016-04-23T08:39:31+08:002016-04-23T08:39:31+08:00 不需要特殊的转义: me@orange ~$ mysqldump foo-bar -- MySQL dump 10.15 Distrib 10.0.24-MariaDB, for debian-linux-gnu (x86_64) -- -- Host: localhost Database: foo-bar -- ------------------------------------------------------ -- Server version 10.0.24-MariaDB-7 /*!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 */; -- -- Table structure for table `baz` -- DROP TABLE IF EXISTS `baz`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `baz` ( `baz` text ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `baz` -- LOCK TABLES `baz` WRITE; /*!40000 ALTER TABLE `baz` DISABLE KEYS */; /*!40000 ALTER TABLE `baz` ENABLE KEYS */; UNLOCK TABLES; /*!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 2016-04-22 18:37:55 me@orange ~$ mysqldump foo-bar --ignore-table=foo-bar.baz -- MySQL dump 10.15 Distrib 10.0.24-MariaDB, for debian-linux-gnu (x86_64) -- -- Host: localhost Database: foo-bar -- ------------------------------------------------------ -- Server version 10.0.24-MariaDB-7 /*!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 2016-04-22 18:38:07 HBruijn 2016-04-23T08:09:24+08:002016-04-23T08:09:24+08:00 您通常使用引号转义连字符-,因此我希望以下内容可以工作: mysqldump --ignore-table='foo-bar.tl_log' Best Answer alexus 2016-04-23T08:03:05+08:002016-04-23T08:03:05+08:00 Per MySQL :: MySQL 5.7 参考手册 :: 5.5.4 mysqldump — 数据库备份程序 尝试以下操作: mysqldump --ignore-table=database.table1
不需要特殊的转义:
您通常使用引号转义连字符-,因此我希望以下内容可以工作:
Per MySQL :: MySQL 5.7 参考手册 :: 5.5.4 mysqldump — 数据库备份程序
尝试以下操作: