我组建了一个mysql的master, slave结构,刚开始两者完全同步。后来因为要更改部分表的结构(也就是要做去掉外键,回收磁盘空间),我停掉slave,并备份master.info, relay-log.info relay-bin.*等文件。 
之后把slave数据库dump出来,然后删除data文件。后找一份干净的data文件,修改dump出来的sql文件,去掉了外键,然后又导入DB。
最后,我把备份的master信息拿回来,重新和master同步。同步进行得很好。但是唯一出错的是以后所有的数据和表都是utf8编码的。但是同步的新数据却是mysql默认的字符编码,哪位高手指点一下问题出在哪里?我可以确信是同步开始以后,表是utf8的,之前的数据是utf8,但是之后的数据就不对了。