linux下mysqldump导出数据、表结构,导入数据

[size=large]导出完整的数据库备份[/size]

mysqldump -h127.0.0.1 -P3306 -uroot -ppassword --add-locks -q dbname > dbname.sql

[size=large][color=red]说明:[/color]前面这些地址、端口就不说明了,都知道。说下后面的,--add-locks:导出过程中锁定表,完成后回解锁。-q:不缓冲查询,直接导出至标准输出
如:
[/size]

LOCK TABLES `user` WRITE;
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL DEFAULT '',
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
INSERT INTO `user` VALUES ('1', 'name1');
INSERT INTO `user` VALUES ('2', 'name2');
UNLOCK TABLES;

[size=large]导出完整的数据库表结构[/size]

mysqldump -h127.0.0.1 -P3306 -uroot -ppassword --add-locks -q -d dbname > dbname.sql

[size=large][color=red]说明:[/color]-d:只导出表结构,不含数据
如:
[/size]

LOCK TABLES `user` WRITE;
CREATE TABLE `user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL DEFAULT '',
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
UNLOCK TABLES;

[size=large]导出完整的数据库的数据不含表结构[/size]

mysqldump -h127.0.0.1 -P3306 -uroot -ppassword --add-locks -q -t dbname.user > dbname.sql

[size=large]如:[/size]

LOCK TABLES `user` WRITE;
INSERT INTO `user` VALUES ('1', 'name1');
INSERT INTO `user` VALUES ('2', 'name2');
UNLOCK TABLES;

[color=red][size=large]问题:[/size][/color]
[size=large]
也许有人已经发现了,auto_increment的问题,导出的是表中的值,如果表本身数据很多,
其值就会很大,如果我要表结构的话,基数就会很大,总感觉不爽。谁有办法请留言。谢啦!!
[/size]

你可能感兴趣的:(linux,mysql)