免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6689 | 回复: 14

mysqldump备份数据库出错!急~~~ [复制链接]

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:54:45
发表于 2006-03-21 13:26 |显示全部楼层
#mysqldump -uroot -p --default-character-set=gbk --skip-opt Ding9_DB > ding9.sql

用vi 打开ding9.sql ,发觉表丢失了auto_inrement,表的数据齐全.

#mysqldump -uroot -p --default-character-set=gbk --opt Ding9_DB > ding9B.sql
用vi 打开ding9B.sql  发现表就有auto_inrement. 但一些表的数据就不齐全。发现ding9.sql 跟ding9B.sql的大小相差10M左右。ding9.sql为45m,ding9B.sql为34m.

那么有什么办法可以既有auto_inrement ,数据又齐全?mysqldump后面应带什么参数?

论坛徽章:
0
发表于 2006-03-21 14:13 |显示全部楼层
mysqldump --help
看看 --skip-opt 里头都包含了什么你就知道为什么了

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:54:45
发表于 2006-03-21 14:46 |显示全部楼层
--skip-opt          Disable --opt. Disables --add-drop-table, --add-locks,
                      --create-options, --quick, --extended-insert,
                      --lock-tables, --set-charset, and --disable-keys.

--opt               Same as --add-drop-table, --add-locks, --create-options,
                      --quick, --extended-insert, --lock-tables, --set-charset,
                      and --disable-keys. Enabled by default, disable with
                      --skip-opt.


mysqldump --help看过,上面这些说明俺也看得懂。但还是不明白用-skip-opt就没有auto_increment  用--opt就有auto_increment 而数据就有些不全。难道是因为在用mydump时,源数据库仍在读写状态,没有停掉原因?

论坛徽章:
0
发表于 2006-03-21 15:06 |显示全部楼层
我怎么没发现我有丢失数据的情况啊?
而且,你说的 auto_increment 没有是什么意思?我导出的文件中,有这个字段的值啊。

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:54:45
发表于 2006-03-21 16:00 |显示全部楼层
CREATE TABLE `order_form` (
  `orde_id` int(11) NOT NULL auto_increment,
  `orde_number` char(12) NOT NULL,
  `user_id` int( NOT NULL,
  `user_merc_id` int( NOT NULL,
  `mepm_id` tinyint(1) NOT NULL,
  `mese_id` tinyint(1) NOT NULL,
  `orde_carriage` float(7,2) NOT NULL,
  `orde_consignee` char(20) NOT NULL,
  `orde_address` varchar(80) NOT NULL,
  `orde_postalcode` char(6) NOT NULL,
  `orde_tel` char(22) default NULL,
  `orde_mobil` char(12) default NULL,
  `orde_consignee_des` char(20) NOT NULL,
  `orde_address_des` varchar(80) NOT NULL,
  `orde_postalcode_des` char(6) NOT NULL,
  `orde_tel_des` char(22) default NULL,
  `orde_mobil_des` char(12) default NULL,
  `orst_id` tinyint(1) NOT NULL,
  `orde_agio_code` varbinary(20) default NULL,
  `orde_time` datetime NOT NULL,
  `orst_time` datetime default NULL,
  `orde_remark` varchar(20) default NULL,
  PRIMARY KEY  (`orde_id`),
  KEY `orde_number` (`orde_number`),
  KEY `user_id` (`user_id`,`orst_id`),
  KEY `user_merc_id` (`user_merc_id`,`orst_id`),
  KEY `orde_time` (`orde_time`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;


这是ding9B.sql里面一个order_form表的结构,这个表是有auto_increment ,而ding9.sql 同样的order_form表就没有auto_increment 。

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:54:45
发表于 2006-03-21 16:02 |显示全部楼层
原帖由 rardge 于 2006-3-21 15:06 发表
我怎么没发现我有丢失数据的情况啊?
而且,你说的 auto_increment 没有是什么意思?我导出的文件中,有这个字段的值啊。


你的导出命令是怎样的?还有你是在mysql数据库没有读写的前提下用mysqldump导吗?

论坛徽章:
0
发表于 2006-03-21 16:28 |显示全部楼层
原帖由 zymh_zy 于 2006-3-21 16:02 发表


你的导出命令是怎样的?还有你是在mysql数据库没有读写的前提下用mysqldump导吗?

mysqldump -F --opt -uroot -p DBName > ... 就是这样么
mysqldump 是要 mysqld 运作的时候才能使用的工具,所以做导出的时候,是否读写都有可能。--opt 本身不是有 --lock-tables 么。

论坛徽章:
0
发表于 2006-03-21 16:53 |显示全部楼层
用了--opt就会使数据库只能读不能写,仅供参考

论坛徽章:
0
发表于 2006-03-22 09:15 |显示全部楼层
你的数据库版本是什么?怎么建表的?
我的 4.1.13-standard-log ,并无你所说问题。

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:54:45
发表于 2006-03-24 10:07 |显示全部楼层
原帖由 yejr 于 2006-3-22 09:15 发表
你的数据库版本是什么?怎么建表的?
我的 4.1.13-standard-log ,并无你所说问题。


俺的数据库是mysql5.0 俺是用PORTS来安装的MYSQL。 系统为FREEBSD6。0, 表的结构大部份是用power designer 来建表,然后整体导入到mysql ,只有一小部份是直接在mysql里建的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP