Chinaunix

标题: mysql5.X latin1转utf8的问题 [打印本页]

作者: MYSQLER    时间: 2008-04-17 09:14
标题: mysql5.X latin1转utf8的问题
我的一个db默认是latin1的字符集..现在需要导入到另一台机器的mysql当中..(这个mysql 默认字符集为utf8),直接导出导入提示类似这样的错误


  1. 1267: Illegal mix of collations (latin1_bin,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '=' (localhost)".
复制代码


我试着先导出表结构不包括建库信息和数据

  1. mysqldump --default-character-set=latin1 --set-charset=utf8 -uroot -p -n -d --opt --skip-set-charset dbname> /root/dbnametable.sql
复制代码



以上语句却提示如下错误(注:记得在4.1的时候是没有这个错误的。难道说是5.x取消了?)
  1. Warning: mysqldump: ignoring option '--set-charset' due to invalid value 'utf8'
复制代码

[ 本帖最后由 MYSQLER 于 2008-4-17 13:45 编辑 ]
作者: yueliangdao0608    时间: 2008-04-17 09:19
记得以前回过一个帖子

mysqldump --default-character-set=latin1 --set-charset -uroot -p -n -d --opt --skip-set-charset dbname> /root/dbnametable.sql

这个导出的才是LATIN1。
作者: MYSQLER    时间: 2008-04-17 13:40
-set-charset=utf8

去掉了utf8?我去试下。。我可我在4.1版本确实可以用啊?
作者: MYSQLER    时间: 2008-04-17 13:54
sed -e 's/latin1/utf8/g' -i daname.sql

这样直接改了下居然也可以。。有知道有没有什么弊端?
作者: yueliangdao0608    时间: 2008-04-17 15:53
呵呵。我从来没有用过4.1的
都是用5.0的。因为我们的SQL语句全部都封装成SP了。我说的是5.X的语法。
其他的你查查手册吧。
作者: MYSQLER    时间: 2008-04-17 19:59
还是那句话感谢你..
作者: passenger_hy    时间: 2009-02-17 20:18
感谢yueliangdao0608。
作者: 我是DBA    时间: 2009-02-17 22:26
导出来,修改完再导回去也是可以的吧。
作者: todayhero    时间: 2009-02-18 11:50
<<mysql深入浅出>>那本书最后几页写的比较清楚.建议你买本.若是需要的.我的快递给你.$100

.基本过程我记得是

1.先用latin1字符集导出.在导出时.表结构和表数据要分开导.这样做的好处.是为了处理数据字符

2.导入结构.

3.记得是需要修改导出的数据文件.将latin1改为utf8

4导入数据.

不能讲的太详.$100,写那本书.里面有更说解.
作者: 枫影谁用了    时间: 2009-02-18 12:05
倒。。。原价也才59块钱啊。。还好些地方折上折
作者: todayhero    时间: 2009-02-18 13:00
标题: 回复 #10 枫影谁用了 的帖子
知识无价啊!儿子大.饭量大.需要钱买干粮.




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2