热搜词
发表于 2012-4-29 10:30:34 | 显示全部楼层 |阅读模式
我的mysql server版本为mysql_5.1.57。当我使用mysqldump 备份一个数据库时,生成的SQL文件中没有包AUTO_INCREMENT语句,经过仔细比对,发现是导出加上--skip-opt选项导致。

可是用phpmyadmin可以在导出时选中AUTO_INCREMENT选项,这样就可以导出包含AUTO_INCREMENT的SQL语句了,只是phpmyadmin对操作比较大的数据库还是不行,想请教各位如果能使用mysqldump也能导出包含AUTO_INCREMENT的语句。

--skip-opt相当于禁用了--add-drop-table, --add-locks, --create-options,--quick, --extended-insert

你的问题出现的原因是,--skip-opt,会关闭表的属性,所以自动增长的属性会关掉。
你试试 --compatible=no_table_options。应该就没有问题了。


用普通用户导出数据可以这样(确认当前数据没有读写,否则可能不保证数据的完整性)
mysqldump --single-transaction dbtable  或者
mysqldump --skip-opt  --add-drop-table --create-options -e


-------------------------------------------------------------------------------------
导数据建议分两步来导,可以解决或避免问题:

1,导出表结构: --no-create-info   不写入表创建信息(CREATE TABLE语句)   
2,导出所有数据:--no-data   不写入表的任何行信息

这样是有好处的,譬如:
解决你上面的这个问题;解决不同版本的mysql问题;解决mysql中文问题;等等.

全部评论2
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2024-11-22 18:17 , Processed in 0.144563 second(s), 22 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2024 Discuz! Team