我正在尝试使用mysqldump
仅导出数据库模式——没有数据,没有额外的 SQL 注释,只是CREATE TABLE
命令。这是我到目前为止所得到的:
mysqldump -h localhost -u root -p --no-data --compact some_db
它几乎达到了我想要的效果,但我想消除“字符集”行(如下面示例输出中的前 3 行)。有没有mysqldump
选择这样做吗?
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `foo` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`bar_id` int(11) DEFAULT NULL,
`bazz` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=369348 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `bar` (
...etc.
这是我的版本信息,以防万一:
mysqldump Ver 10.13 Distrib 5.1.34, for Win32 (ia32)
mysql Ver 14.14 Distrib 5.1.34, for Win32 (ia32)
这也使用 grep,但它似乎有效:
mysqldump -d --compact --compatible=mysql323 ${dbname}|egrep -v "(^SET|^/\*\!)"
我在用着:
版本 10.11 Distrib 5.0.51a,用于
debian-linux-gnu (x86_64)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)