本站内容搜索:
   您的位置:素材中国>>教程 >>数据库 >>MySQL >>mysql5中遇到的字符集问题以及解决办法 提交错误报告
mysql5中遇到的字符集问题以及解决办法
[ 来源:素材中国 | 作者:| 时间:2007-04-18 00:26:29 | 浏览:人次 ]

 
 

今天打开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了

 

 
 
 
首页
     
   您的位置:素材中国>>教程 >>数据库 >>MySQL >>mysql5中遇到的字符集问题以及解决办法
 点此在百度搜索关键字"mysql5中遇到的字符集问题以及解决办法"  点此在GOOGLE搜索关键字"mysql5中遇到的字符集问题以及解决办法"
热门文章:
  ·SQL优化34条   ·sql server分布式事务解决方案
  ·JTDS连接SQL Server中的方法示例   ·MySQL导入导出方法与工具
  ·Mysql数据库学习心得(1)   ·Windows Vista下安装SQL Server 2005
  ·SQL各种写法的效率问题   ·Mysql数据库学习心得(2)
  ·MySQL怎样优化WHERE子句   ·MySQL 4.1 的安装和升级