我的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中文问题;等等.
|
|