详谈mysqldump数据导出的问题
1,使用mysqldump时报错(1064),这个是因为mysqldump版本太低与当前数据库版本不一致导致的。
mysqldump:Couldn'texecute'SETOPTIONSQL_QUOTE_SHOW_CREATE=1':YouhaveanerrorinyourSQLsyntax;checkthemanualthat
correspondstoyourMySQLserverversionfortherightsyntaxtousenear'OPTIONSQL_QUOTE_SHOW_CREATE=1'atline1(1064)
[root@bastion-IDC~]#mysqldump--version
mysqldumpVer10.13Distrib5.1.61,forredhat-linux-gnu(x86_64)
[root@bastion-IDC~]#mysql //或者登陆mysql,selectversion();也可查看版本
Serverversion:5.6.25-logSourcedistribution
。。。。。
这样的话必须知道mysqldump的绝对路径,在mysql的安装目录下有。
2,导出时指定字符集,报错
Characterset'utf-8'isnotacompiledcharactersetandisnotspecifie.
--default-character-set=utf-8
这个是因为字符集错了。是--default-character-set=utf8
3,导出时提示warning,ApartialdumpfromaserverthathasGTIDs
[root@bastion-IDC~]#mysqldump-uroot-pxqsj_db>xqsj_db20160811.sql
Warning:ApartialdumpfromaserverthathasGTIDswillbydefaultincludetheGTIDsofalltransactions,eventhosethat
changedsuppressedpartsofthedatabase.Ifyoudon'twanttorestoreGTIDs,pass--set-gtid-purged=OFF.Tomakeacomplete
dump,pass--all-databases--triggers--routines--events.
关于GTID是5.6以后,加入了全局事务ID(GTID)来强化数据库的主备一致性,故障恢复,以及容错能力。
官方给的:Aglobaltransactionidentifier(GTID)isauniqueidentifiercreatedandassociatedwitheachtransactioncommittedontheserveroforigin(master).
所以可能是因为在一个数据库里面唯一,但是当导入其他的库就有可能重复。所有会有一个提醒。
可以通过添加--set-gtid-purged=off或者–gtid-mode=OFF这两个参数设置。
很有肯能是在导入库中重新生产GTID,而不用原来的。
[root@bastion-IDC~]#mysqldump-uroot--set-gtid-purged=off-pxqsj_db>xqsj_db20160811.sql #这样就ok了!
以上这篇详谈mysqldump数据导出的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。