您的位置:首页 > 数据库 > MySQL

mysql的备份和还原的编码问题解决

2010-05-04 15:34 232 查看
今天需要从远程服务器down一个uchome的数据库下来,在本地还原。

发现一个很不爽的事情:远程8G,N核的linux机器,备份还原操作顺溜溜的,可是在本地的windows,2G普通PC上,才100M的文件,用uchome自带的分卷备份还原,基本上中间都会断掉,要么提示“执行时间过长”(改成200秒,分卷为20M都不行),要么就是中途白屏。

得了,用mysqldump备份的一个独立文件来运行命令行还原吧。
首先运行还原语句:
mysql -uroot -p123456 mydatabase < d:/backupdatabase.sql

时间缓慢地逝去,一口水喝完,上个厕所,再溜达一下,终于完成了(在远程linux服务器上也就20秒的功夫!)
然后更新缓存,发现数据乱码了,咦,我备份的时候是强制的gbk编码啊!看看备份的语句:
mysqldump -uroot -p123456 –default-character-set=gbk mydatabase > /usr/local/mysql/backup/backup20091026.sql

没错啊!已经设置了默认字符集为gbk了,看来可能是在还原的时候也要设置吧,于是修改还原语句,手工指定字符编码
mysql -uroot -p123456 font –default-character-set=gbk mydatabase < d:/backupdatabase.sql

又是漫长的等待…刷新页面一看,现在乱码解决了。

总结:在不同的操作系统和数据库环境之间备份与还原时,还是两边都强制制定一个字符集最保险。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐