频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

mysql5中遇到的字符集问题以及解决办法

来源: 作者: 出处:巧巧读书 2007-10-09 进入讨论组

今天打开slave日志发现一堆错误全部是这种:

 [ERROR] Slave: Error 'Character set '#28' is not a compiled character set and is not specified in the '/usr/local/mysql/share/mysql/charsets/Index.xml' file' on query.

我在master(linux)机上写insert语句,发现同步是没问题的,后来我在window上用一个mysql客户端插入数据,上面的问题就开始出现了。通过mysqlbinlog查看slave日志发现

如果使用gbk编码的客户端插入数据就会有下面的日志:

SET @@session.character_set_client=28,@@session.collation_connection=33,@@session.collation_server=8/*!*/;

如果是直接在linux写insert,那么上面的28(gbk) 就变成8(latin-swde)

原因应该是mysql客户端使用了gbk编码,而服务器无法识别。虽然你可以在'/usr/local/mysql/share/mysql/charsets/Index.xml' 找到gbk,但通过 SHOW CHARACTER SET;确实可以看出数据库没有列出gbk。

我又比较了一下别的机器上的mysql版本,发现那些机器上的mysql都是用的发布版本,而这台slave机使用源代码安装的,于是我下了个mysql-5.0.37-linux-i686-glibc23.tar.gz

然后

cd /usr/local

mv mysql mysql-old

tar xzvf mysql-5.0.37-linux-i686-glibc23.tar.gz

mv mysql-5.0.37-linux-i686-glibc23 mysql

启动mysql,一切就ok了

文章地址: http://www.qqread.com/mysql/f341833.html 更多文章 更多内容请看MySQL数据备份MySQLMySQL安全专题,或进入讨论组讨论。
收藏此文】【 】【打印】【关闭
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章